我目前有三种模式:商业,慈善和组织。企业和慈善机构都是两种类型的组织,因为它们共享许多类似的属性(例如地址,小时,网站等),但它们各自具有自己的独特属性。我应该如何最好地处理Active Record中模型的创建?使用STI还是多态?或者我是否应该将每个模型分解为具有重复信息的模型并摆脱组织模型?
答案 0 :(得分:0)
您可以同时使用两者,因此不一定是两种情况。然而,最重要的是,您将如何构建表格及其周围的逻辑,这取决于您将如何查询数据,以及这些元素如何相互关联。
上面没有足够的信息可以为您提供明确的使用方法。但是,如果看完后:
......解决方案不明确,这里有一些简单的规则:
type
可能是有意义的,因为它仅适用于STI)就多态性而言,似乎这些模型都非常相似且可互换 - 多态性对于将不同的东西(例如注释和照片)与另一个模型(例如FB帖子)相关联更有用。在这种情况下,使用单个表或STI并基于父表进行相关可能更有意义。