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