0
我需要创建一个包含来自两个不同模型/表的条目的图库,让我们说“视频”和“图像”。处理这个问题的最好方法是什么?我想将它们放在不同的表格中,但是要一起检索它们(例如,最近的50张图像和视频)。单表继承似乎不适合。有任何想法吗?查询多个Rails模型
我需要创建一个包含来自两个不同模型/表的条目的图库,让我们说“视频”和“图像”。处理这个问题的最好方法是什么?我想将它们放在不同的表格中,但是要一起检索它们(例如,最近的50张图像和视频)。单表继承似乎不适合。有任何想法吗?查询多个Rails模型
多态性是你的朋友。
class Video
belongs_to :viewable, :polymorphic => true
end
class Image
belongs_to :viewable, :polymorphic => true
end
class Gallery
has_many :media, :as => :viewable
end
我已经能够确定的最佳方式是拥有一个所有显示器的表格,其中多态引用指向其他表格。
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
这将工作,谢谢! –