保存嵌入式文件mongoid

时间:2012-04-05 15:10:12

标签: ruby-on-rails mongoid

我有一个embeds_many地址的人模型。

有没有办法在更新时始终清除嵌入式关系? 例如,如果我发送一个人的完整表示,包括地址,我想替换现有地址而不是附加它们。

我的临时解决方案是before_save回调清除所有地址

class Person
  include Mongoid::Document
  embeds_many :addresses

  before_save :clear_addresses!

  def clear_addresses!
    self.unset(:addresses)
  end
end

1 个答案:

答案 0 :(得分:1)

您可以在更新人员时传递空addresses参数

person.update_attributes(:addresses => [])