我刚读过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