我有一个embeds_many
地址的人模型。
有没有办法在更新时始终清除嵌入式关系? 例如,如果我发送一个人的完整表示,包括地址,我想替换现有地址而不是附加它们。
我的临时解决方案是before_save
回调清除所有地址
class Person
include Mongoid::Document
embeds_many :addresses
before_save :clear_addresses!
def clear_addresses!
self.unset(:addresses)
end
end
答案 0 :(得分:1)
您可以在更新人员时传递空addresses
参数
person.update_attributes(:addresses => [])