2

我有两个模型

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。

4

3 回答 3

1

我相信你想要的是:

address = person.build_address

或者简单地说:

person.build_address

请参阅“构建和创建”部分。

于 2011-12-18T22:25:34.850 回答
1

您可以使用

person.address = Address.create

然后验证不叫我相信。当您更新记录并最终保存它时,将调用验证。也可以使用类似的东西

person.address = Address.new :addres => "Valid address"

并且验证不会失败。

打开和关闭验证对我来说似乎很奇怪,因为这会导致数据库中的地址无效......如果这些地址是问题,您可以更改验证例程以接受空地址。

于 2011-04-04T10:59:40.327 回答
0

如何创建一个自定义地址验证器,并让它检查它是否是一条新记录。如果是,那么它对于空电子邮件仍然有效吗?

于 2011-04-28T15:06:34.657 回答