rails 3 validation sur l'unicité de plusieurs attributs
J'utilise Rails 3.0.0.beta4
Je veux ajouter une validation sur l'unicité de deux attributs, cela signifie que mon modèle est valide si le couple de 'recorded_at'
et 'zipcode'
est unique.
Sur un attribut, voici la syntaxe
validates :zipcode, :uniqueness => true
merci
Dans Rails 2, j'aurais écrit:
validates_uniqueness_of :zipcode, :scope => :recorded_at
Dans Rails 3:
validates :zipcode, :uniqueness => {:scope => :recorded_at}
Pour plusieurs attributs:
validates :zipcode, :uniqueness => {:scope => [:recorded_at, :something_else]}
Paramètres de portée multiples:
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
Cela devrait répondre à la question de Greg.
Ne travaille pas pour moi, il faut mettre scope in pluriel
validates_uniqueness_of: teacher_id,: scope s => [: semester_id,: class_id]