我想知道是否有一种方法可以在 Mongoid 映射器中的嵌入对象上触发 after_save 回调。
Example:
i = Image.new(:file => file)
user.images << i
# => i.after_save should be triggered here
我知道如果我打电话i.save
说完之后,它会触发,但是很难记住在我的代码中这样做。
另外,打电话user.images.create(:file => file)
不是一个选项,因为我会进行检查以确保同一文件不会上传两次。
好的,这是一个老问题,但是使用最新的 Mongoid,您可以使用:
http://mongoid.org/en/mongoid/docs/relations.html http://mongoid.org/en/mongoid/docs/relations.html
级联回调
如果您希望在对其父级调用持久性操作时触发嵌入文档回调,则需要向关系提供级联回调选项。
级联回调仅适用于embeds_one
and embeds_many
关系。
class Band
include Mongoid::Document
embeds_many :albums, cascade_callbacks: true
embeds_one :label, cascade_callbacks: true
end
band.save
# 触发乐队、专辑和标签上的所有保存回调。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)