RoR: почему эта проверка не проходит? - PullRequest
0 голосов
/ 30 мая 2011

У этого действительно есть я.У меня есть эта проверка в моей пользовательской модели:

validates :first_class, :presence => true, :inclusion => %w(Fighter Ranger Magician)

Теперь я пытаюсь создать пример в моей консоли:

ruby-1.9.2-p180 :053 > new = User.create(:first_class => 'Magician')
 => #<User id: nil, ...
ruby-1.9.2-p180 :054 > new.errors
 => {:first_class=>["can't be blank", "is not included in the list"]}

Почему я получаю эту ошибку проверки?Я СЕРЬЕЗНО не могу понять это.

(Если я удаляю проверку, пользователь создается, но first_class равен nil: O)

1 Ответ

2 голосов
/ 30 мая 2011

возможно попробуйте добавить attr_accessible :first_class в файл модели

Вы должны сообщить рельсам, какие атрибуты доступны для записи, посредством массового назначения. Метод new принимает хеш параметров, который считается массовым присвоением. То же самое верно для update_attributes.

Чтобы проверить, вы можете просто создать новый экземпляр и сказать object.first_class = 'Magician'. Если это также не помогает, то вы знаете, attr_accessible не проблема.

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