2012-05-15 128 views
0

我需要创建一个包含来自两个不同模型/表的条目的图库,让我们说“视频”和“图像”。处理这个问题的最好方法是什么?我想将它们放在不同的表格中,但是要一起检索它们(例如,最近的50张图像和视频)。单表继承似乎不适合。有任何想法吗?查询多个Rails模型

回答

1

多态性是你的朋友。

class Video 
    belongs_to :viewable, :polymorphic => true 
end 

class Image 
    belongs_to :viewable, :polymorphic => true 
end 

class Gallery 
    has_many :media, :as => :viewable 
end 
+0

这将工作,谢谢! –

0

我已经能够确定的最佳方式是拥有一个所有显示器的表格,其中多态引用指向其他表格。

class Gallery 
    has_many :displays 
end 

class Display 
    belongs_to :gallery 
    belongs_to :derived_display, :polymorphic => true 
end 

class Video 
    has_one :display, :as => :derived_display 
end