Rails STI - 子类中的自定义关联

时间:2012-11-20 11:28:57

标签: activerecord sti

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模型继承:来自其父级的评论关联(Upload)并自行添加?

1 个答案:

答案 0 :(得分:4)

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

可以找到一个很好的简单STI示例here