Module:Class的未定义方法`column_names'

时间:2013-10-17 06:56:52

标签: ruby-on-rails rspec associations

我不想在类上测试has_many关联:

class Course < ActiveRecord::Base
  has_many :modules
end

为此,我写了一个测试(Rspec):

describe Course do
  it { should have_many(:modules) }
end

出于某种原因,此测试失败了:

1) Course should have many modules
 Failure/Error: it { should have_many(:modules) }
 NoMethodError:
   undefined method `column_names' for Module:Class
 # ./spec/models/course_spec.rb:4:in `block (2 levels) in <top (required)>'

有人知道为什么这个测试会失败吗?我创建了一个Module类:

class Module > ActiveRecord::Base
 belongs_to :course 
end

可能是'Module'是保留关键字,因此我无法创建类Module?

感谢您的帮助,

安东尼

1 个答案:

答案 0 :(得分:1)

Module是Ruby中的“保留”名称(因为Ruby有内置 - 而且非常重要 - Module类)。这可能是您的错误的来源。