Rails 3对多个属性的唯一性进行验证

我使用 Rails 3.0.0. beta4

我想在两个属性上添加唯一性验证,这意味着如果 'recorded_at''zipcode'的组合是唯一的,那么我的模型是有效的。

这里的一个属性是语法

validates :zipcode, :uniqueness => true

谢谢

111141 次浏览

在 Rails 2中,我会这样写:

validates_uniqueness_of :zipcode, :scope => :recorded_at

在 Rails 3:

validates :zipcode, :uniqueness => {:scope => :recorded_at}

对于多个属性:

validates :zipcode, :uniqueness => {:scope => [:recorded_at, :something_else]}

多作用域参数:

class TeacherSchedule < ActiveRecord::Base
validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
end

Http://apidock.com/rails/activerecord/validations/classmethods/validates_uniqueness_of

这应该能回答 Greg 的问题。

不要为我工作,需要把 范围不止一个

Validates _ 惟一性 _ of: acher _ id,: scope<是的trong>是的 = > [ : 學期 _ id, : class _ id ]