2010-09-27 7 views
16

Dove sono i messaggi di errore di convalida predefiniti in Rails 3.0? Ad esempio, qual è l'equivalente di ActiveRecord :: Error.default_error_messages [: taken]? Sono arrivato a scoprire che ActiveModel gestisce gli errori piuttosto che ActiveRecord, ma non riesco a trovare gli errori stessi.Dove sono i messaggi di errore di convalida di default in Rails 3.0?

+0

Mentre questo non può rispondere pienamente alla tua domanda ti fornisce un modo per personalizzare i messaggi di errore di validazione (partendo dal presupposto che è quello che stai cercando di fare): http://stackoverflow.com/questions/808547/ fully-custom-validation-error-message-with-rails – rogeriopvl

+0

In realtà, non sto cercando di personalizzarli ma solo di usarli in testing, assicurandomi che vengano visualizzati i giusti messaggi di errore. Tuttavia, il link che hai fornito è utile - sembra che sia più complicato e meno intuitivo creare messaggi personalizzati rispetto alle versioni precedenti! –

risposta

22

http://github.com/rails/rails/blob/master/activemodel/lib/active_model/locale/en.yml

e

http://github.com/rails/rails/blob/master/activerecord/lib/active_record/locale/en.yml

: D

UPDATE:

Forse si dovrebbe cercare di aggiungere i propri messaggi personalizzati di errore?

# de.yml 
activerecord: 
    errors: 
    messages: 
     taken: "ist bereits vergeben" 

# test_spec.rb 
... 
assert_equal(object.errors[field], I18n.t("activerecord.errors.messages.taken")) 
... 
+0

Grazie, questa è un'altra informazione utile. Ma come posso accedere alle informazioni in un programma Rails? Deve esserci un metodo in ActiveModel :: Errors o altrove, non è presente? –

+0

Cosa vuoi fare esattamente? – Lichtamberg

+0

Ad esempio, assert_equal (oggetto.errors [campo], ActiveRecord :: Error.default_error_messages [: taken]) per verificare che sia stato fornito il messaggio di errore corretto. Non è pragmaticamente importante per me, posso semplicemente usare un testo letterale, ma non sembra il modo "puro" di fare le cose. –

Problemi correlati