我想在ruby中为两个模型建立一个共同的超类,以共享几种方法。假设我希望从Truck
继承Car
和Vehicle
。以下是一些选项:
制作class Vehicle < ActiveRecord::Base
,并拥有class Truck < Vehicle
等等。但后来我收到错误,说我没有Vehicle
的表格(我不想要一个,任一)。
在module Vehicle
中使用include Vehicle
和class Truck < ActiveRecord::Base
。但随后attr_reader
和朋友不会被应用于Truck
。
因此,我想要class Vehicle
。如何在不需要桌子的情况下完成此操作?我确信有一个标准的,很好的方式来做到这一点...
答案 0 :(得分:4)
添加名为abstract_class?
的类方法,该方法返回true
:
class Vehicle < ActiveRecord::Base
def self.abstract_class?
true
end
end