加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 多表继承Rails和activerecord

发布时间:2020-12-17 02:04:19 所属栏目:百科 来源:网络整理
导读:我正在尝试使用ActiveRecord实现多表继承.看起来所有可用的宝石都很老了.我错过了什么吗?使用activerecord有没有“本地”方式来实现它? 我正在使用Rails 3.2.3和activerecord 3.2.1 解决方法 单表继承(每个Car和Truck共享一个数据库) class Vehicle Active
我正在尝试使用ActiveRecord实现多表继承.看起来所有可用的宝石都很老了.我错过了什么吗?使用activerecord有没有“本地”方式来实现它?
我正在使用Rails 3.2.3和activerecord 3.2.1

解决方法

单表继承(每个Car和Truck共享一个数据库)

class Vehicle < ActiveRecord
end

class Car < Vehicle
end

class Truck < Vehicle
end

在您的情况下,您不是共享数据库,而是共享功能.然后,您应该编写一个模块并将其包含在每个模型中

class Car < ActiveRecord
  extend VehicleFinders
end

class Truck < ActiveRecord
  extend VehicleFinders
end

module VehicleFinders
  def find_purchased
    #...
  end
end

所以在扩展模块的方法是调用类的类方法.include模块的方法是调用类对象的实例方法

这可能是一个很好的阅读http://raysrashmi.com/2012/05/05/enhance-rails-models

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读