2010-10-02 5 views
2

Dans une application Ruby on Rails 3, j'ai des invitations. Voici le modèle:Validation sexy pour l'unicité avec: contrainte de portée

class TeamInvitation < ActiveRecord::Base 
    belongs_to :team 

    validates :email, :presence => true, :format => RFC822::EMAIL 
    validates_uniqueness_of :email, :scope => :team_id 
end 

Comment refactoriser la validation de l'unicité pour l'inclure dans la méthode de validation?

Selon la documentation, la clé :uniqueness doit être un booléen, mais dans mon cas, je veux spécifier la portée. Comment puis-je faire cela (si possible)?

Répondre

4

Avez-vous essayé?

:uniqueness => { :scope => :team_id } 

Je ne l'ai pas, mais je sais que d'autres peuvent accepter un hachage. Cela pourrait valoir un coup de feu.

-1

vous pouvez essayer: uniqueness => true

+0

Veuillez répondre spécifiquement à la question posée. Romain Tribe a dit qu'il devait spécifier la portée et que la valeur booléenne n'est pas assez bonne, alors évidemment votre réponse n'est pas valide. – YakovL