Rails 3.1 проверка валидации вложенных форм - PullRequest
1 голос
/ 10 октября 2011

Я пытаюсь перевести сообщение об ошибке проверки с использованием псевдонимов YAML

ru:
  activerecord:
    models:
      user: Пользователь
      profile: Профиль
    attributes:
      profile: &profile_attributes
        name: "Отображаемое имя"
        ya_login: 'Логин на Яндексе'
        description: 'Описание'
      user:
        password: Пароль
        profile_fields:
          <<: *profile_attributes

или без псевдонимов YAML, например:

ru:
  activerecord:
    models:
      user: Пользователь
      profile: Профиль
    attributes:
      profile: &profile_attributes
        name: "Отображаемое имя"
        ya_login: 'Логин на Яндексе'
        description: 'Описание'
      user:
        password: Пароль
        profile_fields:
          name: "Отображаемое имя"
          ya_login: 'Логин на Яндексе'
          description: 'Описание

Но я получаю:

Профиль ya логин не может быть пустым

Где может быть ошибка?

1 Ответ

1 голос
/ 12 марта 2012

Я нашел это https://rails.lighthouseapp.com/projects/8994/tickets/5665-label-form-helper-and-i18n-with-nested-attributes-does-not-work, которое помогло мне узнать, как переводить вложенные формы.

Пример формы:

form_for(@post) do
  fields_for(:author) do
    label :name
  end
end

Это не работает для меня:

fr:
  activerecord:
    attributes:
      author:
        name: Nom

Но это работает:

fr:
  helpers:
    label:
      post[author_attributes]:
        name: Nom

А если ты хочешь остаться СУХИМ:

fr:
  activerecord:
    attributes:
      post:
        [...]
      author: &author_attributes
        name: Nom

  helpers:
    label:
      record[author_attributes]:
        <<: *author_attributes

Я нашел несколько вопросов / комментариев, связанных с вложенными формами i18n:

https://github.com/rails/rails/pull/3441

https://github.com/rails/rails/commit/c19bd4f88ea5cf56b2bc8ac0b97f59c5c89dbff7

https://github.com/rails/rails/issues/1869

Они должны улучшить документацию о том, как переводить вложенные формы.

...