【发布时间】:2011-01-12 20:42:54
【问题描述】:
我想知道我是否可以编写一个验证来验证基于多个字段的记录的唯一性。我的模型有一个复合主键,即
field :houseno, :type => String
field :street, :type => String
field :boro, :type => String
验证此记录唯一性的好方法是什么?
我正在尝试使用这样的自定义验证器:
class AddressValidator < ActiveModel::Validator
def validate(record)
record.errors[:base] << "This address is already in our records." unless check(record)
end
private
def check(record)
Address.find(:street=>record.street,:houseno=>record.houseno,:boro=>record.boro).length > 0
end
end
【问题讨论】:
标签: validation activerecord ruby-on-rails-3 mongoid