Ruby on rails Rails类表继承、伪继承和缺少的方法

Ruby on rails Rails类表继承、伪继承和缺少的方法,ruby-on-rails,ruby,class-table-inheritance,Ruby On Rails,Ruby,Class Table Inheritance,我正在修改现有Rails应用程序的一部分,以使用类表继承gem(https://github.com/brunofrank/class-table-inheritance). 一切都很好,只是我在我的超类Person中定义了一些实例方法,所有子类都需要能够访问这些方法。例如,full_name,返回串联的名字和姓氏;或cite_name,返回首字母和姓氏。由于CTI gem实际上没有使用Ruby继承(所有子类仍然继承自ActiveRecord::Base,并且gem使用了一些时髦的巫术将Act

我正在修改现有Rails应用程序的一部分,以使用类表继承gem(https://github.com/brunofrank/class-table-inheritance). 一切都很好,只是我在我的超类Person中定义了一些实例方法,所有子类都需要能够访问这些方法。例如,
full_name
,返回串联的名字和姓氏;或
cite_name
,返回首字母和姓氏。由于CTI gem实际上没有使用Ruby继承(所有子类仍然继承自ActiveRecord::Base,并且gem使用了一些时髦的巫术将ActiveRecord字段链接在一起),因此我无法在我创建的子类中访问这些方法。有没有想过解决这个问题?我对STI不感兴趣,但我愿意深入研究这个特定的CTI gem,或者研究其他解决方案。

我刚想起来,您是否看到在子类的迁移表中,您需要:

create_table :videos, :inherits => :product do |t|
以及Model.rb文件中

  class Product < ActiveRecord::Base
    acts_as_superclass # I'm guessing you might be missing this line??
  end

  class Book < ActiveRecord::Base
    inherits_from :product
  end
类产品
我认为全新的CITIEsForRAILS gem(RAILS的类继承和表继承嵌入,请参阅)正是您想要的。这个gem扩展了CTI、STI和多表继承,同时保留了Ruby类继承

试试看,它是基于CITIEsForRAILS的,我对它进行了改进,使它经历了快速发展和其他各种变化。它修复了大部分(如果不是所有的bug的话)并且工作得很简单。

请告诉我您的进展情况,我很想知道其他人的经验!