我有两个型号
class Person
embeds_one :address
end
class Address
embedded_in :person
field :city
validates :city, :presence => true
end
现在我做的时候
person.address = Address.new
调用地址验证。但我不需要在我的情况下进行验证,也不能从地址中删除:validates
(因为我以后需要它)。我想做(:validate => false)
之类的事情。如果有人有想法,请告诉我!我使用的是mongoid-2.0.0。
答案 0 :(得分:1)
您可以使用
person.address = Address.create
然后验证不会被调用我相信。更新记录并最终保存时,将调用验证。 也可以使用
之类的东西person.address = Address.new :addres => "Valid address"
并且验证不会失败。
打开和关闭验证,对我来说似乎很奇怪,因为这会导致数据库中的地址无效......您可以更改验证例程以接受空地址,如果这样的地址是问题。
答案 1 :(得分:1)
我相信你想要的是:
address = person.build_address
或简单地说:
person.build_address
答案 2 :(得分:0)
如何创建自定义地址验证器,并检查它是否是新记录。如果是,那么它仍然是有空的电子邮件吗?