No entiendo por qué lo siguiente no funciona en Rails 3. Me aparece el error "variable local indefinida o error` custom_message '".Rails 3: mensaje de error personalizado en la validación
validates :to_email, :email_format => { :message => custom_message }
def custom_message
self.to_name + "'s email is not valid"
end
También probé usando: message =>: custom_message en cambio, como se sugirió en rails-validation-message-error posterior sin suerte.
: email_format es un validador personalizado ubicado en la carpeta 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
Puedo duplicar el error usando su código exacto, pero cuando lo cambio a ': message =>: custom_message' como sugirió, el error desaparece. – Dusty