当我在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) } # OKshould 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
发布于 2013-02-12 23:48:49
最后,修复问题的是重命名我的一个命名范围。我的命名作用域名为parent,我的模型有一个belongs_to :parent关联。
我猜不出为什么命名的作用域、类上的范围和实例上的关联之间会产生冲突。+1给任何能向我解释的人。
https://stackoverflow.com/questions/14840185
复制相似问题