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
-
13-12-2019 - |
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
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