En realidad, desea hacer esto dentro de su vista en lugar de su modelo y en realidad es bastante sencillo. Sólo vamos a recorrer los errores, y cuando el uno para su fijación viene vamos a pasar por alto el nombre de campo:
<ul>
<% @myObject.errors.keys.each do |field| %>
<% @myObject.errors[field].each do |msg| %>
<% if field == :image_file_name %>
<li><%= msg %></li>
<% else %>
<li><%= field.to_s + " " + msg %></li>
<% end %>
<% end %>
<% end %>
</ul>
Sustitución @myObject
con el nombre de su modelo que sólo debe indicar el conjunto de mensajes a sus errores de validación de adjuntos. Este es solo un ejemplo simple que los muestra en línea con el resto, pero por supuesto puede hacer lo que quiera con los mensajes. Es importante mantener el nombre del campo que tuvo el error en caso de que desee programar cualquier lógica que sea específica para su falla sin tener que confiar en que el mensaje de error permanezca exactamente igual para siempre.
sólo un error tipográfico, lo editó aplausos – Smickie
extraños. Acabo de probarlo y veo el mensaje bien. La cosa es que el error se está agregando a 'image_file_name', por lo que podría simplemente agregar una validación simple de Rails en esa columna (no estoy seguro de si funciona) y agregar un: mensaje a esa.Aún así, es mejor hacer todos los mensajes dentro de un archivo de configuraciones regionales. ¿Y qué versión de Paperclip estás usando? Porque podría ser un error en una versión anterior. – RobinBrouwer
Simplemente vuelva a leer su publicación y creo que la malinterpreté. El mensaje se muestra, pero el nombre de la columna también se muestra en el mensaje. Supongo que es una cosa de 'error_messages_for'. Normalmente no uso 'error_message_for' (también porque no está en Rails 3), así que no lo vi en mi pequeña prueba. No sé cómo solucionarlo por usted. Lo siento por eso. :( – RobinBrouwer