Como posso exibir uma tradução do nome de uma coluna de banco de dados como um cabeçalho de tabela em uma visualização, Rails 3

StackOverflow https://stackoverflow.com//questions/12712397

Pergunta

Eu tenho um modelo chamado User com um atributo chamado current_sign_in_at.No meu en.yml arquivo eu tenho o nome de exibição como tal…

en-GB:
  activerecord:
    attributes:
      user:
        current_sign_in_at: "Last sign-in"

…o que me permite exibir o rótulo do formulário desejado ("Último login") usando = f.label :current_sign_in_at.

Mas como posso usar essa mesma tradução para um cabeçalho de tabela, ou seja,não em um formulário?

%th= :current_sign_in_at
Foi útil?

Solução

Você pode usar o método estático "human_attribute_name", Veja o documento aqui no API dock

No seu caso:

%th= User.human_attribute_name :current_sign_in_at

(usar User.human_name para exibir o nome do modelo traduzido com I18n em en.activerecord.models.user)

Espero que isto ajude!

Outras dicas

Outra opção para títulos de tabela internacionalizados é o tabela_para gema.

Isso permitirá que você escreva código erb como:

<%= table_for @user do |table| %>
  <% table.column :current_sign_in_at %>
<% end %>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top