我有一些模型全部在內存中鏈接在一起(父:孩子:孩子:孩子),並通過保存最頂級的父母同時保存。這工作正常。在after_create回調期間無法獲取外鍵,因爲它尚不存在!
我想挖掘其中一個子項的after_create回調來填充更新日誌表。我需要複製/推入更改日誌表的屬性之一是子節點的foreign_key,它是直接父節點,但在after_create觸發時不存在!!!
如果沒有after_create回調,我可以在日誌中查看並看到孩子正在被保存之前,它的父母(外鍵空白),然後父母被插入...那麼孩子是已更新 ID父母。孩子的after_create在正確的時間開槍,但是在Rails有機會用foreign_key更新孩子之前就發生了。
有什麼辦法可以強制Rails以某種順序保存模型的鏈接嗎? ie.parent,那麼child(父foreign_key存在),那麼這個孩子的孩子(再次,foreign_key是可訪問的)等?如果沒有,創建記錄後如何進行常規掃描,並獲取foreign_key?
似乎這樣的回調將是有益的:after_create_with_foreign_keys