В Rails 3 отсутствует перевод ошибок? - PullRequest
2 голосов
/ 05 марта 2011

В моем en.yml у меня есть это:


en:
  errors:
    format: "%{message}"
    messages:
      blank:        "%{attribute} can't be blank"
      invalid:      "%{attribute} is invalid"
      too_short:    "%{attribute} is too short"
      too_long:     "%{attribute} is too long"
      wrong_length: "%{attribute} is the wrong length"
      taken:        "%{attribute}, {value}, is already taken"

А вот моя модель пользователя на данный момент:


    validates_presence_of       :username
    validates_uniqueness_of     :username
    validates_length_of         :username,  :within => 4..15
    validates_format_of         :username,  :with => /^\w+$/i

    validates_presence_of       :password
    validates_length_of         :password,  :within => 6..20

Когда я проверяю случайные данные, все сообщения об ошибках работают отлично,за исключением validates_uniqueness_of, который возвращает значение по умолчанию «уже принято»

Большое спасибо заранее.

1 Ответ

1 голос
/ 05 марта 2011

не должно ли быть

taken: "%{attribute}, %{value}, is already taken"

со знаком процента для значения?Я не знал, что вы можете получить доступ к value, но это имеет смысл, иначе это может быть username.Я вижу, что taken - это правильный ключ, но я все равно попытался бы без {value} проверить, работает ли он.

Наконец или временное исправление. Я думаю, что вы можете передать сообщение в вашу проверку модели, что-токак это должно работать:

validates_uniqueness_of     :username, :mesage => "#{self.username} is already taken"

но, конечно, вы теряете много преимуществ.

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