2010-09-27 20 views
16

¿Dónde están los mensajes de error de validación por defecto en Rails 3.0? ¿Cuál es el equivalente de ActiveRecord :: Error.default_error_messages [: taken], por ejemplo? He llegado a la conclusión de que ActiveModel maneja los errores en lugar de ActiveRecord, pero no puedo encontrar los errores por sí mismos.¿Dónde están los mensajes de error de validación por defecto en Rails 3.0?

+0

Si bien esto puede no responder plenamente a su pregunta que le proporciona una forma de personalizar los mensajes de error de validación (suponiendo que es lo que estamos tratando de hacer): http://stackoverflow.com/questions/808547/ full-custom-validation-error-message-with-rails – rogeriopvl

+0

En realidad, no estoy tratando de personalizarlos, sino de utilizarlos en las pruebas, asegurándome de que se generan los mensajes de error correctos. Sin embargo, el enlace que proporcionó es útil: parece que es más complicado y menos intuitivo crear mensajes personalizados que en versiones anteriores. –

Respuesta

22

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

y

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

: D

ACTUALIZACIÓN:

Tal vez debería tratar de añadir sus propios mensajes de error personalizados?

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

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

Gracias, esa es otra información útil. Pero, ¿cómo puedo acceder a la información en un programa de Rails? Debe haber un método en ActiveModel :: Errors o en otro lugar, ¿no? –

+0

¿Qué quieres hacer exactamente? – Lichtamberg

+0

Por ejemplo, assert_equal (object.errors [field], ActiveRecord :: Error.default_error_messages [: taken]) para probar que se ha proporcionado el mensaje de error correcto. No es pragmáticamente tan importante para mí, solo puedo usar un texto literal, pero no me parece la forma "pura" de hacer las cosas. –

Cuestiones relacionadas