「ビデオ」と「画像」など、2つの異なるモデル/テーブルからのエントリを含むギャラリーを作成する必要があります。これを処理するための最良の方法は何ですか?それらを別のテーブルに保持したいのですが、一緒に取得します(たとえば、最新の50枚の画像とビデオ)。単一テーブル継承は適合しないようです。何か案は?
質問する
349 次
2 に答える
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
于 2012-05-15T18:35:09.650 に答える
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
于 2012-05-15T18:34:54.813 に答える