J'essaye d'écrire un test unitaire pour un modèle d'utilisateur dans Ruby on Rails. J'utilise authlogic et je dois vérifier que les attributs first_name et last_name des modèles d'utilisateurs ne sont pas les mêmes lorsque l'utilisateur s'enregistre.Valider le contenu des attributs pour qu'il ne soit pas le même
Ceci est mon modèle d'utilisateur:
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.login_field= :username
end
has_many :memberships, :class_name => "Project::Membership"
has_many :projects, :through => :memberships
has_one :profile
validates :email, :presence => true, :uniqueness => true
validates :username, :presence => true, :uniqueness => true
validates :first_name,:presence => true
validates:last_name, :presence => true
validates :title, :presence => true
validates :password, :presence => true
validates :password_confirmation, :presence => true
validates :gender, :presence => true
# Custom validator
validates :first_name, :last_name, :different_names => true
Comme vous pouvez le voir, j'ai essayé de créer un validateur personnalisé la création d'un nouveau fichier dans /lib/different_names_validator.rb avec une classe appelée DifferntNamesValidator, mais n'a pas pu l'obtenir, car j'ai l'erreur suivante: Validator inconnu: 'different_names' (ArgumentError)
Merci d'avance!
Quel module? Comment puis-je le faire? – noloman
Je suppose qu'à l'intérieur de different_names_validator.rb vous avez défini le module (ou la classe) DifferentNamesValidator alors essayez d'ajouter 'include DifferentNamesValidator' dans votre modèle – Bohdan
http://stackoverflow.com/questions/1073076/rails-lib-modules-et celui-ci peut être utile – Bohdan