J'ai beaucoup à plusieurs modèles, suivant l'exemple this great railscastune association Validation auto-référentiel ne lie pas à l'instance d'origine dans des rails
Mes liens modèles auteurs les uns aux autres. Je voudrais valider qu'un auteur ne peut pas l'ami lui-même. Je sais que je peux gérer cela au niveau de l'interface utilisateur, mais j'aimerais avoir une validation en place pour empêcher un bug dans l'interface utilisateur de l'autoriser. J'ai essayé validates_exclusion_of, mais cela ne fonctionne pas. Voici mon modèle pour la relation:
class Friendship < ActiveRecord::Base
# prevent duplicates
validates_uniqueness_of :friend_id, :scope => :author_id
# prevent someone from following themselves (doesn't work)
validates_exclusion_of :friend_id, :in => [:author_id]
attr_accessible :author_id, :friend_id
belongs_to :author
belongs_to :friend, :class_name => "Author"
end
Cela fonctionne parfaitement. Merci! –