1

我无法归零如何为我的 Rails 应用程序组织数据库。我在此处和 Google 上找到的问题讨论了有限类继承的问题。如果类的数量非常多怎么办。如果我想为schema.org 层次结构中标识的所有类型为每种类型设置一个类,应该如何组织这些类?

虽然我找到了一些对类表继承的支持,比如这个名为CITIER的 gem ,但实现单表继承似乎更简单,并且得到了更好的支持。

我应该坚持使用 STI 还是尝试使用 MTI?

4

1 回答 1

0

恕我直言,STI 在将由类封装的两个对象共享几乎所有相关属性的情况下是有意义的。因此,在报纸上,拥有一个继承自它的 Editor 类(class Editor < Employee)的 Employee 类可能是有意义的,因为编辑可能只是一种非常不同类型的员工。当您正在建模的对象有太多不共同点时,可能会出现 STI 问题,即使将一个对象视为另一个对象的子类是有意义的。单个表可能变得过于稀疏。在这种情况下,我发现使用“has”和“belongs to”来建模对象更有效。YMMV。

于 2012-06-14T12:55:35.367 回答