A classe ActiveRecord::ConnectionAdapters::Column
tem um método human_name
que cria uma versão “humanizada” para os nomes das colunas de tabelas (atributos de um model). Porém, nem sempre o nome criado é o que desejamos. Por exemplo, se temos uma coluna num_usuarios
, o método human_name
retornará “Num Usuarios”, que, provavelmente, não é o que queremos. Para configurar o human_name
manualmente, há duas soluções:
- criar um hash e redefinir o método human_attribute_name:
class Model < ActiveRecord::Base
HUMANIZED_ATTRIBUTES = {
num_usuarios => 'Número de usuários'
}
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
end
- usar o plugin human_attribute_override. Esta solução é mais simples e elegante:
class Model < ActiveRecord::Base
attr_human_name :num_usuarios => 'Número de usuários'
end