【问题标题】:How to validate uniqueness in Rails 3 Model if I want to check if there is a 2-field combination?如果我想检查是否存在 2 字段组合,如何验证 Rails 3 模型中的唯一性?
【发布时间】:2011-03-31 02:17:24
【问题描述】:
我想知道 Rails 3 中是否有一种方法,可以验证组合在一起的 2 个字段的唯一性。
逻辑是这样的:
我有两个字段employee_code 和date_entry。
【问题讨论】:
标签:
ruby-on-rails-3
model
【解决方案1】:
validates_uniqueness_of :employee_code, :scope => [:date_entry]
三列或更多列,您只需将元素添加到范围列表:
validates_uniqueness_of :employee_code, :scope => [:date_entry, :another_column]
或 Rails 3:
validates :employee_code, :uniqueness => {:scope => :date_entry}
【解决方案2】:
这适用于 Rails 3:
要仅使用 2 列执行此操作,您可以执行以下操作:
验证 :empcode, :uniqueness => {:scope => :date_entry}
对于超过 2 列,您可以执行以下操作:
验证 :empcode, :uniqueness => {:scope => [:date_entry, :description]}