Ruby on Rails多态关系的优缺点
您对Ruby on Rails多态关系有什么优缺点。
好处:
- 您可以非常轻松地将任何内容链接到任
- 适应性关系有助于适应不可预见的情况
- 很容易实现关系
- 非常适合ad-hoc系统
缺点:
- 外键不实用
- 索引包括复杂性的另一个方面
- 使用STI时难以识别的表之间的关系
- 数据库图表工具无法解释
- 对于连接模型并不总是实用的
- 对于必须validation数据完整性的系统,强烈建议不要这样做
我非常喜欢将这种关系用于根据需要附加到大量内容的记录,例如,可以应用于各种记录的注释或注释记录。
它不太适合经常在JOIN中执行关系的情况。 也就是说,多态关联不应该在记录之间的关系中间,而应该在周边的某些东西上。