我有以下内容:
class Series < ActiveRecord::Base
has_many :components
end
class Component < ActiveRecord::Base
belongs_to :series
end
class Base < Component
end
class Shaft < Component
end
class Capital < Component
end
所以,一个系列有很多组件,一个组件属于一个系列。我使用 STI 将组件分为 Bases、Shafts 和 Capitals。
但是,当我想列出属于系列的组件时,按组件类型我得到
s.bases
NoMethodError: undefined method `bases' for #<Series:0x007fe30e24d198
也许我错过了关于 Rails 和 STI 的一些非常基本的东西。这应该工作吗?(注意,我在表上有一个类型列,其中包含类。我在初始化文件中“需要”子类定义,正如 Stackoverflow 上其他地方所建议的那样)