/ / Warum muss ich Objekte neu laden, bevor ich sie speichere, damit Relationen aktualisiert werden können? - Ruby, Ruby-on-Rails-3, Mongoid, Mongoid3

Warum muss ich Objekte vor dem Speichern neu laden, damit die Beziehungen aktualisiert werden können? - Rubin, Rubin-auf-Schienen-3, Mongoid, Mongoid3

Ich bin mir nicht sicher, ob dies eine mongoide Sache ist oder ob dies auf das größere aktive Aufzeichnungsmuster zutrifft. Ich habe den folgenden Codeabschnitt, der funktioniert:

submission.reload.profile
submission.milestone = self.milestone
submission.profile = @profile
@profile.save && submission.save

Die Relation wird korrekt aktualisiert. Wenn ich jedoch die erste Zeile herausnehme (die ich nur durch Versuch und Irrtum herausbekommen habe), funktioniert sie nicht mehr und die Beziehung wird nicht aktualisiert.

Warum?

Antworten:

1 für die Antwort № 1

Möglicherweise hat die Übermittlung einige ungültige Attribute. Wenn Sie sie erneut laden, kehren Sie zur Überprüfung zurück und können gespeichert werden. Versuchen Sie es mit p submission.errors nach dem Speichern ohne erneutes Laden