Локализация Rails: работает для t (), но не для атрибута ActiveRecord - PullRequest
0 голосов
/ 30 августа 2011

Локализация формы Rails3 ERB для моей модели user_info работает для «объяснения», но не для «фамилии»:

<%= t("explanation") %>             # Works
<%= form_for(@user_info) do |f| %>
  <%= f.label :familyname %>                 # Does not work, renders: Familyname
  <%= f.text_field :familyname %>
  <%= f.submit t("update") %>
<% end %>

ja.yml в config / locales:

ja:
  explanation: ここで説明を書く予定です
  activerecord:
    attributes:
      user_info:
        familyname:名字

Почему он будет работать с t(), но не с ActiveRecord?Я дважды проверил отступ, я совершенно уверен, что я правильно делаю ja → activerecord → attribute → user_info → familyname

У меня есть другая модель, очень похожая, где атрибуты ActiveRecord локализованы без проблем.

Ответы [ 2 ]

1 голос
/ 30 августа 2011

Отступ выглядит немного иначе, чем указано в документе i18n Rails .Пожалуйста, проверьте.

Кроме того, откройте консоль rails и попробуйте следующую команду:

I18n.t('activerecord.attributes')

В этом списке будут перечислены все пары ключ / значение всех переводов атрибутов модели.

0 голосов
/ 19 мая 2014

Для атрибутов модели вы можете использовать метод human_attribute_for

User.human_attribute_for :familyname
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...