Mensagens legíveis de validação em rails

Estava sofrendo pela total ausência de internacionalização do Rails que supostamente vai ser corrigida na próxima versão (Rails 2.2) but como o meu projeto eh pra 1 semana não vai dar pra esperar, foi mau.. hehehehehehe

PROBLEMA: Tenho um field ou campo no meu BD que se chama filename e isto é fato imutavel e mesmo usando o maravilhoso Brazilian Rails isto me gera o seguinte problema :

Meu Model tem:

  validates_uniqueness_of :filename, :message => " ou Arquivo já existente no servidor"


-Feio ! Rejeitado =/

SH1T ! Isso não é legível para seres humanos ! ô.ô

SOLUÇÃO: Mas esse cara tem a solução! http://henrik.nyh.se/2007/12/change-displayed-column-name-in-rails-validation-messages

O esquema é adicionar estas linhas abaixo em seu model:

  validates_uniqueness_of :filename, :message => "já existente no servidor"

  HUMANIZED_ATTRIBUTES = {
    :filename => "Arquivo",
    :size => "Tamanho"
  }

  def self.human_attribute_name(attr)
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super
  end

end


-Bom o bastante !

O que isto não resolve é o caso de um multi-línguas.. porém isso fica pra 2.2 😉

Considerações finais.. é isso.. fácil não ? Isto também resolve em potencial alguns scaffolds que fazem tipo collum.human_name ou algo do tipo..

Advertisements

One thought on “Mensagens legíveis de validação em rails

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s