Ruby on rails 3 如果我想检查是否存在2字段组合,如何验证Rails 3模型中的唯一性?
我想知道Rails 3中是否有一种方法,可以验证组合在一起的两个字段的唯一性 逻辑是这样的: 我有两个字段Ruby on rails 3 如果我想检查是否存在2字段组合,如何验证Rails 3模型中的唯一性?,ruby-on-rails-3,model,Ruby On Rails 3,Model,我想知道Rails 3中是否有一种方法,可以验证组合在一起的两个字段的唯一性 逻辑是这样的: 我有两个字段employee\u code和date\u entry 案例1:如果employee\u code和date\u条目组合已存在,则不允许使用相同的employee\u code和date\u条目保存另一条记录 案例2:如果employee\u code和date\u条目存在,但不在同一条记录上,则允许保存该字段 三列或更多列,只需将元素添加到范围列表: validates_unique
employee\u code
和date\u entry
- 案例1:如果
和employee\u code
组合已存在,则不允许使用相同的date\u条目
和employee\u code
保存另一条记录date\u条目
- 案例2:如果
和employee\u code
存在,但不在同一条记录上,则允许保存该字段date\u条目
validates_uniqueness_of :employee_code, :scope => [:date_entry, :another_column]
或轨道3:
validates :employee_code, :uniqueness => {:scope => :date_entry}
这是针对Rails 3的:
validates :employee_code, :uniqueness => {:scope => :date_entry}
要仅使用2列完成此操作,您可以执行以下操作:
验证:empcode,:university=>{:scope=>:date\u entry}
对于超过2列,您可以执行以下操作:
验证:empcode,:university=>{:scope=>[:date\u条目,:description]}