我剛讀過Chad Fowler的博客文章20 Rails Development No-Nos。在單表繼承他評論:這是Rails的單表繼承的合法使用嗎?
存儲名爲「類型」的列,其中包含類名是一個很好的指標,有點可疑。它很腥,但並不總是很糟糕。不過,我認爲,只要你使用它,你應該不止一次地問自己,如果這是正確的解決方案。當你有很多STI和多態關聯時,數據庫不會做他們最擅長的事情。
我正在編寫一個博客應用程序,我正在考慮使用STI來發表可以在帖子上發表的評論以及訪問者可以發佈的聯繫消息,如果他們想與我聯繫。我的Message
型號將繼承我的Comment
型號。他們都有共同的屬性,但Message
將有一個額外的subject
字段。另一個共同點是兩者都將提交給Akismet進行垃圾郵件檢查。
而不是像乍得所說的那樣,不止問自己一次,我想我會從Stack Overflow專家那裏得到一些意見!我的建議聽起來是否適合STI?
另請參閱http://stackoverflow.com/questions/6073617/single-table-inheritance-or-class-table-inheritance – 2013-03-19 10:07:54