rails 3validation多个属性的唯一性

我使用Rails 3.0.0.beta4

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

这里的一个属性是语法

 validates :zipcode, :uniqueness => true 

谢谢

在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_uniqueness_of:teacher_id,:scope s => [:semester_id,:class_id]