Перевести ассоциацию моделей Rails - не работает

У кого-нибудь есть советы, как перевести ассоциации моделей в Rails?

Например: У меня есть модель Person, у которой может быть много Phone. Однако, Person должен иметь хотя бы один Phone. Я не могу перевести эту валидацию. Лучшее, что я смог сделать, это следующее:

validates_presence_of :phones, :message => "At least one phone is required."

И в моем YAML я заменил эту строку, чтобы опустить %{attribute}:

format: ! '%{message}'

Таким образом, отображается только мое сообщение, и я избегаю отображения непереведенного имени поля.

Это вызывает у меня много головной боли, потому что некоторые гемы просто не позволяют мне передавать :message => "что-то, описывающее ошибку", поэтому я хотел настроить все сообщения об ошибках через YAML.

Также, с некоторыми моделями я могу перевести их атрибуты, а с другими нет. Например:

activerecord:  
  attributes:
    additional_info:
      account_manager: "Manager"

Это работает. Я могу видеть на своей форме "Manager". Однако, когда в этом поле возникает ошибка, Rails отображает ее как "Additional info account manager can't be blank".

Я попробовал следующее:

activerecord:          
  errors:
    models:
      additional_info:
        attributes:
          account_manager: "Manager"

Но безуспешно.

Я прочитал документацию, но не понял, почему это происходит.

7
задан Nicholas Pufal 13 February 2012 в 19:16
поделиться