1

has_manyポリモーフィック アソシエーションと同様に、さまざまな型の順序付けられたコレクションを返すを追加したいと考えています。

class Group < AR:Base
  has_many ??
end

class Picture < AR::Base; belongs_to :group; end
class Video   < AR::Base; belongs_to :group; end
class Audio   < AR::Base; belongs_to :group; end

belong_toSQL を使用してすべての画像、ビデオ、およびオーディオをグループに返すにはどうすればよいですか。Ruby の使用に頼る必要はありません。「メディア アイテム」のコレクションも同様に注文したいからですacts_as_list

4

1 に答える 1

0

STI (単一テーブル継承) を使用します。

class Group < AR:Base
  has_many :media_items
end

class MediaItem < AR::Base; belongs_to :group; end
class Picture < MediaItem; end 
class Video   < MediaItem; end
class Audio   < MediaItem; end

typeそのためには、DB スキーマに列を追加するだけです。

于 2012-07-20T22:14:03.500 に答える