私は、モデルが保存される一般的な順序は、最初に一番深い子であり、その後徐々に親になることを知っています。これが重要な理由は、私がコールバックを持っているということですネストされた親子モデルのモデルコールバックはどのような順序で実行されますか?
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
...
:
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
...
ORの線に沿って:しかし、私はの線に沿って何かが起こるん、他のコールバックに関して思ったんだけど属性を調整し、モデル上の属性の調整可能性は、他のモデルの属性に依存します。
一つの例は、私が自動設定されたstatus
属性にParent
がComplete
and the children are both
完全attributes are both
状態ChildA
場合とchild B's
valid`になりたいということです。
puts
ステートメントを使ってテストしようとしましたが、これは奇妙な振る舞いをします(この質問:Nested form validation statements repeating multiple timesを参照)。それは代表ではないと思います。
コールバックでステートマシンロジックのこの種を置くことは魅力的かもしれませんが、...それを
この回答はこれまでに見つかりましたか? – geoboy