我有一个应用程序,我想通过另一个模型(即任务 1 > 关系 < 任务 2)将模型的一个实例链接到同一模型的另一个实例,并且想知道我是否可以使用 has_many :through 来实现这一点。
基本上,关系模型将具有额外的信息(type_of_relationship,lag),因此将其作为连接模型是理想的。然而,没有两个模型可以加入,只有一个……它自己。has_many :through 还能用吗?如果是这样,连接表的外观如何?使用 Rails 约定,您将有两个名为 Activity_id 的列,这显然在数据库中不起作用。
或者,我可以使用 has_many_and_belongs_to 在任务模型和关系模型之间设置多对多,但我不确定这是否准确地描述了一种关系,该关系应该只链接任何一个关系模型中的两个任务模型(当然任务可能属于多个关系,因此是多对多)。
我的直觉说要使用 has_many_and_belongs_to 并整理模型中的规则,但有更好的方法吗?我要在这个上兜圈子!
任何帮助表示赞赏。