Ярлыки i18n для вложенных моделей с использованием simple_form - PullRequest
8 голосов
/ 06 октября 2011

Если проект:

  • has_many: tasks
  • acceptpts_nested_attributes_for: tasks

, и я использую simple_form, например, так (упрощенно):

simple_form_for @project do |f|
  f.input :project_name
  f.simple_fields_for :tasks do |j|
    j.input :task_name
  end
  f.submit
end

Как бы я интернационализировал ярлык для :task_name?В моем файле simple_form.it.yml я пробовал довольно много комбинаций, например:

it:
  simple_form:
    labels:
      project:
        project_name: 'Nome progetto'
        task:
          task_name:  'Nome compito'

Не удалось найти примеры в документации.Google указывает на пару, по-видимому, актуальных закрытых вопросов:

https://github.com/plataformatec/simple_form/issues/48

https://github.com/plataformatec/simple_form/issues/194

Но пока я в растерянности ...

СПАСИБО!Джузеппе

Ответы [ 4 ]

18 голосов
/ 02 января 2012

Поскольку ваша форма принимает много задач, вы должны использовать множественное число task.Работает в simple_form:

it:
  simple_form:
    labels:
      project:
        project_name: 'Nome progetto'
        tasks:
          task_name:  'Nome compito'
3 голосов
/ 14 апреля 2012

SimpleForm должен вернуться к it.simple_form.labels.task.task_name, но это не так.

Вы можете смоделировать это с помощью некоторого хака YAML.

it:
  simple_form:
    labels:
      task: &task_labels
        task_name:  'Nome compito'
      project:
        project_name: 'Nome progetto'
        tasks:
          <<: *task_labels

Вы можете даже настроить метки задач проекта после строки <<: *task_labels.

3 голосов
/ 06 октября 2011

Используйте Rails по умолчанию i18n.

it:
  activerecord:
    attributes:
      task:
        task_name:  'Nome compito'
0 голосов
/ 01 августа 2014

Я брожу, если это полезно:

activerecord.errors.models.[model_name].attributes.[attribute_name]
activerecord.errors.models.[model_name]
activerecord.errors.messages
errors.attributes.[attribute_name]
errors.messages
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...