Ruby on Rails多态关系的优缺点

您对Ruby on Rails多态关系有什么优缺点。

好处:

  • 您可以非常轻松地将任何内容链接到任
  • 适应性关系有助于适应不可预见的情况
  • 很容易实现关系
  • 非常适合ad-hoc系统

缺点:

  • 外键不实用
  • 索引包括复杂性的另一个方面
  • 使用STI时难以识别的表之间的关系
  • 数据库图表工具无法解释
  • 对于连接模型并不总是实用的
  • 对于必须validation数据完整性的系统,强烈建议不要这样做

我非常喜欢将这种关系用于根据需要附加到大量内容的记录,例如,可以应用于各种记录的注释或注释记录。

它不太适合经常在JOIN中执行关系的情况。 也就是说,多态关联不应该在记录之间的关系中间,而应该在周边的某些东西上。