2011-04-26 23 views
23

Me pregunto si hay una forma de cambiar el nombre del campo para un error de validación al que esté asociado. Por ejemplo, si presento Nombre (realmente fname en la tabla) sin ningún tipo de datos, que grita Fname can't be blank.Cambiar el nombre del campo de error en Rails

¿Es posible cambiar esto a First Name can't be blank?

Respuesta

60

La práctica general hoy en día es para editar su locals así:

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     fname: "First Name" 

Su mensaje de error ahora se dice "Nombre no puede ser ..."

Para completar sake, tienes otra opción. Que es agregar lo siguiente a su modelo de usuario:

class User < ActiveRecord::Base 

    HUMANIZED_ATTRIBUTES = { 
    :fname => "First Name" 
    } 

    def self.human_attribute_name(attr) 
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super 
    end 

end 
+1

+1. Pero creo que el 'def self.human_attribute_name (attr)' no es necesario. – Swanand

+13

en Rails 4 Tuve que agregar un segundo argumento a la llamada al método 'self.human_attribute_name (attr)'. Entonces se convierte en 'self.human_attribute_name (attr, options = {})' – Peter

Cuestiones relacionadas