Etrange situation

Bonjour,

Je viens de constater quelque chose d’assez troublant lors de mes tests
unitaires.

J’ai le modèle suivant :

class MetaContent < ActiveRecord::Base
[…]
belongs_to :user
belongs_to :moderator, :class_name => ‘User’, :foreign_key =>
‘moderator_id’
[…]
end

Je peux faire depuis la console :

MetaContent.find( :first ).moderator = User.find( :first )

Mais dans mon test unitaire, la ligne suivante

meta.moderator = users( :moderator )

génère :

test_presence_comment(MetaContentTest):NameError: undefined local
variable or method ` moderator’ for #MetaContent:0x3714500

Remarques :

l’assignation meta.user = users( :monuser) ne pose pas de problème et,
le plus étonnant, un pp meta.moderator ne génère pas d’erreur !

Une idée ?

Merci pour votre aide,

Julien

Le 22 mars 07 à 17:03, Julien B. a écrit :

Bonjour,

Bonjour,

Mais dans mon test unitaire, la ligne suivante

meta.moderator = users( :moderator )

génère :

test_presence_comment(MetaContentTest):NameError: undefined local
variable or method ` moderator’ for #MetaContent:0x3714500

Une idée ?

Rien de grave à priori, ca ressemble à un espace en trop qui traine
quelque part: le message d’erreur n’est pas pour la method
‘moderator’ mais pour la méthode ’ moderator’ (un espace avant le m).
Je ne sais pas d’où ca vient mais ca sent la typo quelque part, faut
voir la trace pour savoir
où.
Renaud_______________________________________________
Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Merci Renaud pour ta réponse. J’avais commencé par regarder cela en premier.

Pour info, le problème venait de la ligne suivante dans la validation du
modèle MetaContent :

errors.add( :moderator, l( :error_mcontent_moderator_not_moderator ) )
unless moderator.blank? || moderator.is_moderator?

que j’ai remplacée par

errors.add( :moderator, l( :error_mcontent_moderator_not_moderator ) )
if moderator && ! moderator.is_moderator?

J’avoue ne pas savoir pourquoi… :confused: