2010-12-07 2 views
0

J'essaie de faire quelque chose de très simple. J'ai valident la présence de dans des rails 3:Rails 3 Message d'erreur du client

validates_presence_of [: first_nm]

Lorsque ce feu, il donne le message merdique suivant:

"premier nm ne peut être vide"

I veulent passer outre le message d'erreur pour donner un nom de champ convivial pour « premier nm »

« S'il vous plaît remplir votre nom d'abord »

J'ai vu toutes sortes de plugins, de localisation, de tutoriels d'attributs humanisés, mais ceux-ci ne semblent pas fonctionner ou sont obsolètes. N'y a-t-il pas un moyen simple de faire cela dans Rails 3?

Pour la localisation, j'ai essayé ceci:

# Sample localization file for English. Add more files in this directory for other locales. 
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. 

en: 
    activerecord: 
    errors: 
     messages: 
     taken: "has already been taken" 
     record_invalid: "Validation failed: %{errors}" 
     models: 
      customer: 
       blank: "This is a custom blank message for %{model}: %{attribute}" 
       attributes: 
       first_nm: 
        blank: "This is a custom blank message for first name" 

Hélas, pas de chance. Mon message d'erreur n'a pas changé.

Sur ce qui pourrait être lié. Je n'hérite pas d'ActiveRecord, car cet objet est sauvegardé via du savon, pas de la base de données. Au lieu de cela, je donne les résultats suivants:

class Customer 
    extend ActiveModel::Naming 
    include ActiveModel::Conversion 
    include ActiveModel::Validations 


end 

Répondre

2

Avez-vous vu cette page sur ActiveRecord localization? Il semble être pour Rails 3. Je ne peux pas tester en ce moment, mais le document, il semble que vous pouvez faire:

models.user.attributes.first_nm.blank = "Please fill out your First Name"

+0

J'ai essayé (voir ci-dessus) et a ajouté un peu plus d'informations. – fregas

+0

Oui, le lien vers "ActiveRecord localization" fonctionne. –