2013-02-12 4 views
0

Когда я запускаю файл RSpec тестов на моем приложении Rails, все проходит, кроме тестов для has_many ассоциаций:Rspec должен have_many вызывает неверное число аргументов (0 для 1)

it { should have_many(:notes) } # ERROR 
it { should belong_to(:agent_field_set) } # OK 
it { should have_and_belong_to_many(:profiles) } # OK 

should have_many(:notes) линия поднимает ArgumentError: wrong number of arguments (0 for 1) , Я проверил свою базу данных, и мой файл модели для проверки существования в виде has_many ассоциации, и оба появляются в порядке:

has_many :notes, class_name: "NoteNs::Note", foreign_key: :user_id 

Может кто-нибудь сказать мне, где искать проблему?

характеристики: рубин 1.9.3, Rails 3.2.11

+1

Какова тема этих примеров rspec? – Hck

+0

Это использование драгоценного камня shoulda_helpers? –

+0

Тема - это класс с именем Usage :: Users. (Но как это может измениться?) Нет, я не использую toa_helpers. – JellicleCat

ответ

0

В конце концов, какая констатировала проблема переименования одной из моих названных областей. Моя названная область была вызвана parent, а моя модель имеет ассоциацию belongs_to :parent.

Не могу догадаться, почему возникает конфликт между именованной областью, находящейся в классе, и ассоциацией, находящейся на экземпляре. +1 всем, кто может объяснить это мне.

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