Ich weiß, dass die allgemeine Reihenfolge, in der Modelle gespeichert werden, zuerst das tiefste Kind ist und dann schrittweise bis zum Elternteil. Aber ich frage mich, in Bezug auf andere Rückrufe, kommt es etwas entlang der Linien von:Rails in welcher Reihenfolge finden Modell-Callbacks für verschachtelte Eltern/Kind-Modelle statt?
ChildA - before validation
ChildB - before validation
Parent - before validation
ChildA - after validation
ChildB - after validation
Parent - after validation
ChildA - before save
ChildB - before save
Parent - before save
...
oder entlang der Linien von:
ChildA - before validation
ChildA - after validation
ChildA - before save
...
ChildB - before validation
ChildB - after validation
ChildB - before save
...
Parent - before validation
Parent - after validation
Parent - before save
...
Der Grund, dies ist wichtig, dass ich Rückrufe haben Das Anpassen von Attributen und die Anpassungsfähigkeit eines Attributs in einem Modell hängt von den Attributen anderer Modelle ab.
Ein Beispiel dafür ist, dass ich die Parent
auf Auto-Set seiner status
Attribute will Complete
wenn ChildA
und child B's
Status attributes are both
komplette and the children are both
valid` sein.
Ich habe versucht, dies mit puts
Aussagen zu testen, aber anscheinend führt das zu einem seltsamen Verhalten (siehe diese Frage: Nested form validation statements repeating multiple times), und ich fürchte, es ist nicht repräsentativ.
Ich lese jeden Fall die Rails Guides, aber ich bin vielleicht blind, weil ich nicht einen Hinweis auf diese überall sehen war ...
Haben Sie jemals die Antwort darauf gefunden? – geoboy