i18n: локализация сообщения об ошибке для конкретной модели - PullRequest
10 голосов
/ 19 августа 2011

Я могу локализовать сообщение об ошибке для каждой проверки, но как создать ошибку для конкретной модели.

Обычная локаль выглядит следующим образом:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"

Но я хочу изменитьсообщение для user модели:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
        user:
          taken: "It is already taken. %{link_to 'Remember password', reset_password_path'}"

1 Ответ

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

Попробуйте это:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
      models:
        user:
          attributes:
            login:
              taken: "It is already taken. %{link}"

Ссылка:

Комментарии кода ActiveRecord

PS: Строка локализации должна использовать переменную интерполяции для динамического замещения.

Например: добавить ошибку в поле login объекта user:

user.errors.add(:login, :taken, :link => "foo")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...