7

Nel mio file di traduzione en.yml, ho:Come sovrascrivere i messaggi di errore generici di activerecord in ruby-on-rails?

activerecord: 
    errors: 
    template: 
     header: 
     one: "1 error prohibited this {{model}} from being saved" 
     other: "{{count}} errors prohibited this {{model}} from being saved" 

Quando si verifica un errore di ActiveRecord/convalida durante il logging nella mia applicazione, il messaggio di errore:

"1 errore proibito questa sessione utente dal salvataggio "

viene visualizzato (dove user_session è il modello utilizzato). Preferirei dire qualcosa come

"Si è verificato un errore per impedirti di accedere al tuo account".

Come sovrascrivere il messaggio di errore generico con quello specifico?

risposta

11

Ho trovato i percorsi Rails (2.3.8) segue per tradurre i messaggi di errore (con i18n 0.6.0): Inoltre, non dimenticare di modificare il formato full_messages in modo che corrisponda ai messaggi personalizzati.

Ecco un esempio con il modello "Cavallo", che convalida l'attributo "nome" (non può essere vuoto).

nel modello (app/modelli/horse.rb):

validates_presence_of :name 

Nel file di traduzione (config/locales/en.yml):

en: 
    activerecord: 
    errors: 
     models: 
     horse: 
      attributes: 
      name: 
       blank: "Hey, are you the horse with no name?" 
     full_messages: 
     format: "%{message}" 

Di seguito è riportato un link ad la pagina delle guide RoR in cui ho trovato questo. C'è anche un elenco di quali messaggi sono richiesti per ogni variante di convalida.

La notazione e le impostazioni predefinite possono cambiare con le versioni successive di Rails e/o i18n.

0

È necessario creare il proprio FormBuilder e modificarne la chiave di traduzione.

+0

Grazie. Ho la sensazione che ci sia un modo più semplice per farlo aggiungendo voci aggiuntive nel file di traduzione nella sezione modelli e attributi, ma non ho trovato nulla che spieghi chiaramente come farlo. activerecord: -> errori: -> modelli: AND activerecord: -> errori: -> attributi: –

Problemi correlati