2012-03-27 4 views
0

Когда я пытаюсь спасти некоторые из моих случаев ActiveRecord, я получаю эту ошибку проверкиWeird Rails ActiveModel :: Ошибки: ... должно быть больше, чем {{число}}

"Weight must be greater than {{count}}" 

файл модели определяет, команда

validates_numericality_of :weight, :greater_than => 10, :less_than_or_equal_to => 900, :unless => :is_spia? 

Так почему же читать ошибка {{count}} вместо того, чтобы просто 10? И что с этим нужно сделать?

Sys: Рельсы 2.3.5 рубин 1.8.7

+0

Удалил мой ответ ... мой плохой для того, чтобы не читать достаточно близко. – ScottJShea

ответ

0

См http://guides.rubyonrails.org/i18n.html, «5.1.2 Ошибка Интерполяция сообщений "и" 4.3 Плюрализация ". Возможно, проще всего переопределить сообщение для проверки, будь то inline или в вашем en.yml (или эквиваленте), чтобы использовать {{weight}}, а не {{count}}.

+0

Это выглядит довольно гладко, но я не совсем понимаю, как действовать. Я должен интерполировать 'count' в моем« сообщении »? (Я не вижу, как в yml.) Могу ли я добавить еще один случай в файл yml для этой конкретной модели и поля (Quoter, weight)? Я не знаю, как это сделать. Любая дополнительная информация, которую вы могли бы предоставить, была бы рада. – JellicleCat

+1

Самый простой способ - добавить сообщение: message => «Должно быть от 10 до 900» 'к вашей проверке. Я не уверен, как по умолчанию предполагается, что значение 'count' должно быть интерполировано. – aceofspades

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