繁体   English   中英

Rails 4:has_many的两种方式:通过多态

[英]Rails 4: 2 ways has_many :through with polymorphic

编辑

我实施了一个似乎可行的解决方案。 这有点不可思议,我相信它是特定于应用程序的,因此我认为对于社区来说,在此处发布它没有用。 但是,如果有人真的想看到它,我可以这样做。

-

我得到了UserAgency模型,并且在以下情况下,我试图找出如何建立将用户和代理机构联系起来的Partnership模型:

  • 用户可以与代理商和其他用户成为伙伴
  • 代理商可以与用户和其他代理商合作

后来我需要能够调用user.partners并获得该用户和机构合作的整个列表user (同样适用于agency

我试图通过多态来设置has_many,但是我感到困惑。 任何提示表示赞赏。 谢谢

在此伙伴关系模型中,您可能需要4个字段,这使我相信无法使用Rails多态行为。 将会有一个partner_1_id和partner_2_id。 然后,您需要为每个字段分配一个partner_type:string或partner_type:integer列,以确定它将是什么样的关系。

您可以通过在用户/代理机构模型中使用类似这样的方法来进行查询。

查找所有伙伴伙伴,其中partner_1_id或partner_2_id =您的ID,以及该伙伴的partner_type =您的班级。

编辑:因此,基本上,您需要在代理商和用户类中编写自己的partner方法,才能创建查询。 Rails在这里无法为您做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM