Je ne comprends pas pourquoi ce qui suit ne fonctionne pas dans Rails 3. Je reçois une erreur "variable locale non définie ou méthode` custom_message '".Rails 3: message d'erreur personnalisé dans la validation
validates :to_email, :email_format => { :message => custom_message }
def custom_message
self.to_name + "'s email is not valid"
end
J'ai essayé également d'utiliser: message =>: custom_message au lieu comme cela a été suggéré dans rails-validation-message-error après avec pas de chance.
: email_format est un validateur personnalisé qui se trouve dans le dossier lib:
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || 'is not valid')
end
end
end
Je peux dupliquer votre erreur en utilisant votre code exact, mais quand je le change en ': message =>: custom_message' comme vous l'avez suggéré, l'erreur disparaît. – Dusty