2012-05-15 167 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