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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails中实现类表继承?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚完成了通过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/

猜你在找的Ruby相关文章