Ruby on rails 如何将数据库列名的翻译显示为视图中的表标题,Rails 3

Ruby on rails 如何将数据库列名的翻译显示为视图中的表标题,Rails 3,ruby-on-rails,ruby,ruby-on-rails-3,internationalization,rails-i18n,Ruby On Rails,Ruby,Ruby On Rails 3,Internationalization,Rails I18n,我有一个名为User的模型,其属性名为current\u sign\u in\u at。在我的en.yml文件中,我有这样的显示名称 en-GB: activerecord: attributes: user: current_sign_in_at: "Last sign-in" …这允许我使用=f.label:current\u sign\u in\u at显示所需的表单标签(“上次登录”) 但是,如何对表头使用相同的翻译,即不在表单中 %th= :c

我有一个名为
User
的模型,其属性名为
current\u sign\u in\u at
。在我的en.yml文件中,我有这样的显示名称

en-GB:
  activerecord:
    attributes:
      user:
        current_sign_in_at: "Last sign-in"
…这允许我使用
=f.label:current\u sign\u in\u at
显示所需的表单标签(“上次登录”)

但是,如何对表头使用相同的翻译,即不在表单中

%th= :current_sign_in_at

您可以使用静态方法“human\u attribute\u name”

就你而言:

%th= User.human_attribute_name :current_sign_in_at
(使用
User.human\u name
en.activerecord.models.User
中显示用I18n翻译的型号名称)


希望这有帮助

国际化表格标题的另一个选项是

这将允许您编写erb代码,如:

<%= table_for @user do |table| %>
  <% table.column :current_sign_in_at %>
<% end %>

太好了!这正是我所希望的。非常感谢@Yoshiji先生!