Валидаторы сообщений в рельсах 3 - PullRequest
3 голосов
/ 15 января 2011

В Rails 3 валидаторы изменены: теперь можно указывать все валидаторы для определенного поля за один раз:

поэтому вместо этого написать

Rails 2.x.x style
validates_size_of :username, :within => 5..15, :message=> "username size must be between 5 и 15 "

теперь я могу написать

Рельсы 3 стиля

 validates :username,  :length => { :minimum => 5, :maximum => 40 }

Но если я добавлю: messge => "bla bla bla" в этом последнем примере (стиль Rails 3), произойдет ошибка, поэтому возникает вопрос: Как отредактировать личное сообщение об ошибке для модели, чтобы показать их в представлении?

Спасибо

1 Ответ

1 голос
/ 15 января 2011

При использовании сокращенного метода validates :model вы можете добавлять только определенные сообщения в контексте определенного валидатора.Пример:

validates :username, :length => { :minimum => 5, :maximum => 40, :message => 'should be between 5 and 40 characters' }

Обратите внимание, что сообщение находится в хэше для клавиши :length.В противном случае Rails не знает, к какому валидатору должно быть применено сообщение.

...