我正在使用Mongoid,我有一个类(Order),它是另一个类(LineItem)的“embeds_many”。具体来说,在订单中,我有:
embeds_many :line_items, cascade_callbacks: true
在LineItem中,我有:
embedded_in :order
除了cascading_callbacks之外,一切正常。当我对Order对象进行更改并调用“save”时,我希望调用所有嵌入的LineItem对象的“after_save”回调。这不会发生。我认为那是cascading_callbacks的重点。
我不对吗?在保存父级并且在关系中将cascade_callbacks设置为true时,是否还需要使用其他内容来为每个嵌入式文档触发与保存相关的回调?
答案 0 :(得分:2)
我认为,当您在父文档中指定级联回调:true 时,只有在相应的嵌入文档中进行任何更改时才会触发嵌入文档的回调。
要检查,更改嵌入文档中的内容并保存父文档。在这种情况下,我认为回调将被解雇