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