2009-08-01 7 views
1

Je veux faire quelque chose comme ceci:Erreur de message de validation Rails?

validates_presence_of :name, :message => custom_message 

def custom_message 
    "Custom Message" 
end 

Mais quand je l'essayer je reçois « variable locale définie ou une méthode pour la méthode personnalisée »

Ce qui est avec qui?

Répondre

3

Pensez que je l'ai compris. Si vous utilisez un symbole au lieu de la méthode directement.

par exemple: message =>: custom_message

0

try this ,, si je ne suis pas mal

before_save: custom_message def custom_message self.custom_message = "Message personnalisé" si publié == true extrémité fin

+0

hmmm ne sais pas pourquoi je veux faire ... veux juste savoir pourquoi la méthode ne marche pas Valide pas voir la méthode locale – Cameron

0

Avez-vous essayé de mettre la définition de custom_message avant la ligne validates_presence_of? validates_presence_of est une méthode de classe, et quand elle est évaluée, Ruby n'a pas encore vu la définition en dessous.

+0

Yea a essayé cela et pas de joie. – Cameron

1

Je l'ai eu à travailler comme ceci:

def self.custom_message 
    "Custom Message" 
end 

validates_presence_of :name, message: custom_message 
Questions connexes