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

ruby-on-rails – 如何在Rails中实现类表继承?

发布时间:2020-12-16 19:55:20 所属栏目:百科 来源:网络整理
导读:我刚刚完成了通过Rails第四版( http://pragprog.com/book/rails4/agile-web-development-with-rails)的敏捷Web开发书,并且需要一些帮助来了解如何在模型之间创建父子关系.我在StackOverflow上做了一些Googling,并在这里戳了一遍,并且一般学习了单表继承和类
我刚刚完成了通过Rails第四版( http://pragprog.com/book/rails4/agile-web-development-with-rails)的敏捷Web开发书,并且需要一些帮助来了解如何在模型之间创建父子关系.我在StackOverflow上做了一些Googling,并在这里戳了一遍,并且一般学习了单表继承和类表继承.

我有一堆关于档案收藏中不同项目的元数据.所有对象的大部分元数据是相同的,例如,登录号,标题,描述,版权等.除了常见的元数据之外,还有元数据仅适用于某些类型的项目,例如照片需要保留跟踪项目是彩色还是黑白;录音需要跟踪格式(CD,DAT,盒式磁带等)和持续时间;文字材料需要跟踪页数;等等

Class hierarchy

            Item
              |
  +-----------+------------+
  |           |            |
Photo   SoundRecording    Text

由于我将有成千上万的记录,我排除单表继承太低效.我理解了这个表格继承的想法:http://martinfowler.com/eaaCatalog/classTableInheritance.html,但是我如何在一个新的Ruby on Rails项目中实际实现这一点感到困惑.我实现类表继承作为多态关联(http://guides.rubyonrails.org/association_basics.html#polymorphic-associations)还是我错误的轨道?

谢谢.

解决方法

是.
它归结为这(在Rails 3)
class Business < ActiveRecord::Base
  belongs_to  :biz,:polymorphic => true
end

class Restaurant < ActiveRecord::Base
  acts_as_biz
end

这是一个很好的教程,如何做到这一点.

http://techspry.com/ruby_and_rails/multiple-table-inheritance-in-rails-3/

(编辑:李大同)

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

    推荐文章
      热点阅读