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

是的,模型只是类,当被继承时,它们会从父类中获取所有方法。因此,由于两者GalleryMusicAlbum都是Upload模型的后代,它们将具有has_many :comments关联,并且两者都将从uploadsdb 表中获取数据(需要有一个type列来支持该模型的 STI)

可以在这里找到一个很好的简单 STI 示例

于 2012-11-20T14:29:51.827 回答