Rails 3.1 переводит имя атрибута модели - PullRequest
4 голосов
/ 15 июля 2011

Я пытаюсь настроить (перевести) имя атрибута активной записи в rails 3.1 ("first_name"). Вот начало моего файла локали (config / locales / sv.yml):

"sv":
  activerecord:
    models:
      employee: "Anställd"
    attributes:
      employee:
        first_name: "Förnamn"

Я уверен, что этот файл используется рельсами, потому что смена переводов ниже в файле работает. Вот код erb поля формы, который должен сказать «Förnamn», а не «Имя»:

  <div class="field">
    <%= f.label :first_name %><br />
    <%= f.text_field :first_name %>
  </div>

Запуск Employee.human_attribute_name(:first_name) в консоли rails возвращает «Имя». Большое спасибо

Ответы [ 2 ]

7 голосов
/ 20 сентября 2011

В Rails 3.1 вы также можете сделать это следующим образом:

<% form_for @post do |f| %>
  <%= f.label :title %>
  <%= f.text_field :title %>
  <%= f.submit %>
<% end %>

en:
  helpers:
    label:
      post:
        title: 'Customized title'

Этот подход не зависит от ORM и отлично работает для активной модели (например, с mongoid).

1 голос
/ 15 июля 2011

Я понял, что у меня есть запись activerecord, определенная два раза в моем файле перевода sv.yml, и мои атрибуты были переопределены в верхней части файла. Это работает сейчас.

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