3
class Upload < ActiveRecord::Base
    has_many :comments
end

class Gallery < Upload
    has_many :images
end

class MusicAlbum < Upload
    has_many :audio_tracks
end

これは期待どおりに動作するはずですか? Gallery および MusicAlubm モデルは、親 (アップロード) から :comments 関連付けを継承し、独自の関連付けを追加しますか?

4

1 に答える 1

5

はい、モデルは単なるクラスであり、継承されると、親クラスからすべてのメソッドを取得します。したがって、 と の両方GalleryがモデルのMusicAlbum子孫であるため、関連付けがあり、両方がdb テーブルからデータを取得します (このモデルの STI をサポートする列が必要です)。Uploadhas_many :commentsuploadstype

素敵な単純な STI の例は、ここにあります。

于 2012-11-20T14:29:51.827 に答える