2011-01-15 3 views
3

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

так вместо того, чтобы написать

Rails 2.xx стиль
validates_size_of :username, :within => 5..15, :message=> "username size must be between 5 и 15"

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

Rails 3 стиль

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

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

Спасибо

ответ

1

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

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

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

+1

А как насчет синтаксиса errors.add? Как добавить конкретную ошибку из модели? это эквивалентная техника с той, которую вы цитировали? – Joe

+0

Если я правильно понимаю вас, да. – coreyward

+0

Можете ли вы дать мне простой пример, чтобы использовать errors.add вместо этого: сообщение в вашем коде? Большое спасибо – Joe

Смежные вопросы