一直想弄清楚Rails的关联

问题描述 投票:0回答:1

我有两个模型-UserNetwork。在我的情况下,每个User可以具有多个Network,每个Network可以具有多个User并属于一个User(创建者)。

例如,假设有两个网络为User 1N1N2。网络N1具有User 2,网络N2具有User 3

[我想要实现的是creatorN1字段将给我N2User 1users字段将给我N1,而[User 2]的将给我给我N2

我可以使用带有外键的创建者字段,并且我知道我可以使用[User 3]关系来确定哪些网络包含哪些用户,哪些用户属于哪些网络。但是在那种情况下,是否有一种方法可以快速判断两个用户之间是否存在关系?

例如,has_many through:之类的内容将返回user2.follows? user1,因为true属于User 2的网络。我可以遍历User 1创建的所有网络,并检查User 1是否属于它,但是有更好的方法吗?

ruby-on-rails database activerecord database-migration
1个回答
0
投票

我推荐包含方法,

您可以使用以下方法User 2

如果此方法与您想要的方法不同,请给出更具体的示例

我当然知道,请尝试拔除方法,

user1.N1.include?(user2)

这意味着我将联合用户和网络模型,然后在where方法中找到用户,

最后,搜索属于user2列

属于用户的一列是在网络模型中标识user2,

© www.soinside.com 2019 - 2024. All rights reserved.