Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中插入超类,而不使用相应的数据库表_Ruby On Rails - Fatal编程技术网

Ruby on rails 在rails中插入超类,而不使用相应的数据库表

Ruby on rails 在rails中插入超类,而不使用相应的数据库表,ruby-on-rails,Ruby On Rails,我想为ruby中的两个模型提供一个通用的超类,以共享几种方法。假设我想要一辆卡车和汽车继承自汽车。以下是一些选项: 制作class Vehicle

我想为ruby中的两个模型提供一个通用的超类,以共享几种方法。假设我想要一辆
卡车
汽车
继承自
汽车
。以下是一些选项:

  • 制作
    class Vehicle
    ,并拥有
    class Truck
    等。但随后我收到错误消息,说我没有
    Vehicle
    的表格(我也不想要表格)

  • 使用
    模块车辆
    将车辆
    包括在
    卡车类
    中。但是,
    attr\u reader
    和朋友不能申请
    Truck


  • 因此,我想要
    类车辆
    。我如何在不需要桌子的情况下做到这一点?我确信有一种标准的、很好的方法可以做到这一点……

    添加一个名为
    抽象类的方法,该方法返回
    true

    class Vehicle < ActiveRecord::Base
      def self.abstract_class?
        true
      end
    end
    
    class车辆
    添加一个名为
    abstract\u class?
    方法,该方法返回
    true

    class Vehicle < ActiveRecord::Base
      def self.abstract_class?
        true
      end
    end
    
    class车辆
    啊,太好了,我知道这必须有一个干净的解决方案。谢谢啊,太好了,我知道这必须有一个干净的解决方案。谢谢