我想创建一个将使用与背包相同的系统(http://www.backpackit.com)来创建不同类型的页面的应用程序。如何为背包式应用程序建模数据库
基本上,您可以添加不同的元素到一个页面,并对它们进行重新排序。一些元素可以包含其他元素(如包含图像或列表等的图像库)。
我不知道如何建模。
我希望能够做这样的事情:无需检索自己
class Page < ActiveRecord::Base
has_many :texts, :dependent => :destroy
has_many :titles, :dependent => :destroy
def elements
@elts = texts + titles + ...
#order elts...
end
end
所以我想单表继承所有元素
page.elements
。 我可以有一个Containers表,Notes,Galleries,Lists等可以从Containers继承。 然后,我会有可以使用多态性链接到各种容器的元素。
你会怎么做?你看到我的方法有什么根本的缺陷?
谢谢!
感谢您的回答。我不确定我是否清楚:我没有问如何在rails中实现单表继承或多态,我对它很熟悉。我更多地问自己如何模拟整个事情。 – Robin 2011-02-05 01:54:21