web-dev-qa-db-ja.com

rails 3複数の属性の一意性の検証

Rails 3.0.0.beta4を使用します

2つの属性の一意性の検証を追加します。つまり、'recorded_at''zipcode'のカップルが一意であれば、モデルは有効です。

1つの属性に構文があります

validates :zipcode, :uniqueness => true

ありがとう

174
denisjacquemin

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]}
324

複数のスコープパラメーター:

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

これでグレッグの質問に答えるはずです。

93
Ray

私のために働いてはいけない、scopepluralに入れる必要がある

validates_uniqueness_of:teacher_id、:scope s => [:semester_id、:class_id]

4
Jesus