Как я могу отобразить перевод имени столбца базы данных в виде заголовка таблицы в представлении, Rails 3
-
13-12-2019 - |
Вопрос
У меня есть модель под названием User
с атрибутом под названием current_sign_in_at
.В моем ru.yml file у меня есть отображаемое имя как таковое…
en-GB:
activerecord:
attributes:
user:
current_sign_in_at: "Last sign-in"
…что позволяет мне отображать желаемую метку формы («Последний вход»), используя = f.label :current_sign_in_at
.
Но как мне использовать этот же перевод для заголовка таблицы, т.е.не в форме?
%th= :current_sign_in_at
Решение
Вы можете использовать статический метод «human_attribute_name», См. документ здесь, на доке API.
В твоем случае:
%th= User.human_attribute_name :current_sign_in_at
(использовать User.human_name
для отображения названия модели, переведенного с помощью I18n, в en.activerecord.models.user
)
Надеюсь это поможет!
Другие советы
Другой вариант интернационализированных заголовков таблиц — это таблица_для драгоценного камня.
Это позволит вам написать код erb, например:
<%= table_for @user do |table| %>
<% table.column :current_sign_in_at %>
<% end %>