2011-07-28 15 views
5

Estoy tratando de mostrar mensajes de error personalizados sin el nombre del atributo al frente. Solía ​​hacer esto con la gema custom_error_message, sin embargo, no funciona con Rails 3.1Mensajes de error de validación sin el atributo

Lo que estoy tratando ahora en create.js.erb:

alert("<%= @post.errors[:title] %>") 

que devuelve

[&quot;Here goes my custom message?&quot;] 

Mi pregunta es: ¿cómo puedo eliminar los corchetes y el & quot así que solo queda el mensaje. Lo insertaré en la página usando jquery.

Respuesta

17

Si desea que los errores en un objeto de base, no un uso atributo particular:

errors.add(:base, "Here goes my custom message") 

En cuanto a los soportes y cotizaciones, supongo que depende de cómo se está configurando sus errores. Cuando diga @post.errors[:base], devolverá una matriz. Esta alerta es literalmente escupiendo la matriz. Probablemente quieras iterar sobre los errores o simplemente tomar .first si solo hay uno.

Además, llamando al .html_safe se ocupará del problema &quot;.

+1

Respuesta mucho mejor enmarcada de lo que estaba escribiendo. – rubish

+0

¿Qué es un objeto base? – Mark

Cuestiones relacionadas