当我在我的Rails应用程序上运行rspec测试文件时,除has_many
个关联的测试外,一切都通过了:
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
谁能告诉我在哪里寻找问题?
规范:Ruby 1.9.3,Rails 3.2.11
答案 0 :(得分:0)
最后,修复问题的方法是重命名我的一个命名范围。我的命名范围称为parent
,我的模型具有belongs_to :parent
关联。
我无法猜测为什么在一个命名范围,在类上,以及一个关联,在一个实例上发生冲突。对任何可以向我解释这一点的人+1。