Ruby on rails 单表继承还是类表继承?
我正在阅读关于类表继承(CTI)的书籍,发现总体上我更喜欢它。我的问题是,单表继承(STI)是否有任何特定的用例,您可以在CTI上使用它Ruby on rails 单表继承还是类表继承?,ruby-on-rails,ruby,database-design,single-table-inheritance,Ruby On Rails,Ruby,Database Design,Single Table Inheritance,我正在阅读关于类表继承(CTI)的书籍,发现总体上我更喜欢它。我的问题是,单表继承(STI)是否有任何特定的用例,您可以在CTI上使用它 我读过,据我所知,它是可靠的。STI的用例是行为上的差异,而不是数据上的差异。我想向您指出我发现的一篇伟大的文章,它清楚地解释了为什么以及何时使用CTI 像你说的那样,使用STI治疗行为差异。我会举一个例子: 您有Purchase,也有PartialPurchase,与数据的唯一区别是,当PartialPurchase完成时,它将获得与新创建的Purchase
我读过,据我所知,它是可靠的。STI的用例是行为上的差异,而不是数据上的差异。我想向您指出我发现的一篇伟大的文章,它清楚地解释了为什么以及何时使用CTI 像你说的那样,使用STI治疗行为差异。我会举一个例子: 您有Purchase,也有PartialPurchase,与数据的唯一区别是,当PartialPurchase完成时,它将获得与新创建的Purchase的关系 所以行为是不同的,而且,在某些情况下,我希望PartialPurchase和Purchase显示在同一个查询中。对于商业代理来说,他们希望同时看到所有的购买和部分购买,因此将这些数据放在同一个表中是有意义的。否则,每个模型的所有属性都相同 在这种情况下,我会使用STI而不是CTI
虽然如果数据开始有很大差异,我可能会创建另一个与STI表相关的表,在许多不同字段的情况下,我可能会想到CTI。另外,你给我的另一个链接是,它有很多关于这个的博客链接。谢谢。@SpaceGhost这里没有GitHub页面站点。