在rails中插入超类,没有相应的数据库表

时间:2010-01-05 06:37:41

标签: ruby-on-rails

我想在ruby中为两个模型建立一个共同的超类,以共享几种方法。假设我希望从Truck继承CarVehicle。以下是一些选项:

  1. 制作class Vehicle < ActiveRecord::Base,并拥有class Truck < Vehicle等等。但后来我收到错误,说我没有Vehicle的表格(我不想要一个,任一)。

  2. module Vehicle中使用include Vehicleclass Truck < ActiveRecord::Base。但随后attr_reader和朋友不会被应用于Truck

  3. 因此,我想要class Vehicle。如何在不需要桌子的情况下完成此操作?我确信有一个标准的,很好的方式来做到这一点...

1 个答案:

答案 0 :(得分:4)

添加名为abstract_class?方法,该方法返回true

class Vehicle < ActiveRecord::Base
  def self.abstract_class?
    true
  end
end