O método error_message_on é extremamente útil. Com ele podemos exibir mensagens de erro retornadas por determinados métodos em um objeto de uma forma bem simples.
<%= error_message_on "post", "title" %>
<!-- ou -->
<%= error_message_on @post, "title" %>
Isto fará com que uma mensagem de erro seja exibida na sua página dentro de uma tag DIV, caso um erro esteja associado ao campo title do modelo post.
Mas o mais interessante do método error_message_on é que podemos personaliza-lo para que exibida mensagens mais amigáveis. E é aqui que entra a alteração para o Rails 2.2.
Na versão atual os parâmetros de personalização são passadas diretamente para o método, mas no Rails 2.2 serão passadas via um Hash de opções:
<%= error_message_on "post", "title",
:prepend_text => "Title simply ",
:append_text => " (or it won't work).",
:css_class => "inputError" %>
Fique tranqüilo quanto a uma possível migração de seus projetos atuais, pois o código está preparado para funcionar também da forma antiga (pelo menos por um tempo), mas emitindo um aviso de alerta para que o código seja atualizado.
Este tipo de alteração está se mostrando uma tendência no código do Rails, pois deixa o código mais legível. Então esperem por mais alterações deste tipo.
Eu adoro este método, mas gostaria de saber como posso mudar essas malditas Divs para span? Consegui fazer com o error_messages mas mas não para o error_message_on! HELP PLEASE!