2015-02-04 4 views
0

В моем классе Foo, у меня есть:проверки наличия атрибута не может

belongs_to :assessment_type 
validate :assessment_type, presence: true 

Мой RSpec тест имеет:

it { is_expected.to validate_presence_of(:assessment_type) } 

Тест терпит неудачу с этой ошибкой:

1) Foo should require assessment_type to be set 
Failure/Error: it { is_expected.to validate_presence_of(:assessment_type) } 
    Expected errors to include "can't be blank" when assessment_type is set to nil, got errors: ["can't be blank (attribute: \"name\", value: nil)", "can't be blank (attribute: \"description\", value: nil)", "can't be blank (attribute: \"logo\", value: nil)", "can't be blank (attribute: \"url_code\", value: nil)", "can't be blank (attribute: \"starts_at\", value: nil)", "can't be blank (attribute: \"contract\", value: nil)", "can't be blank (attribute: \"organization\", value: nil)"] 

All атрибутов, перечисленных в строке ошибок (имя, описание, ...), имеют тот же оператор validate, что и тип_ценки.

Почему это не удается?

+0

Можете ли вы поделиться 'subject'? – Mark

+0

Я использую тему по умолчанию, а не явно заданную тему. – rainslg

ответ

1

Я нашел проблему. Эта линия:

validate :assessment_type, presence: true 

должен быть

validates :assessment_type, presence: true 
Смежные вопросы