我有两个模型-User
和Network
。在我的情况下,每个User
可以具有多个Network
,每个Network
可以具有多个User
并属于一个User
(创建者)。
例如,假设有两个网络为User 1
和N1
的N2
。网络N1
具有User 2
,网络N2
具有User 3
。
[我想要实现的是creator
的N1
字段将给我N2
,User 1
的users
字段将给我N1
,而[User 2]
的将给我给我N2
我可以使用带有外键的创建者字段,并且我知道我可以使用[User 3]
关系来确定哪些网络包含哪些用户,哪些用户属于哪些网络。但是在那种情况下,是否有一种方法可以快速判断两个用户之间是否存在关系?
例如,has_many through:
之类的内容将返回user2.follows? user1
,因为true
属于User 2
的网络。我可以遍历User 1
创建的所有网络,并检查User 1
是否属于它,但是有更好的方法吗?
我推荐包含方法,
您可以使用以下方法User 2
如果此方法与您想要的方法不同,请给出更具体的示例
我当然知道,请尝试拔除方法,
user1.N1.include?(user2)
这意味着我将联合用户和网络模型,然后在where方法中找到用户,
最后,搜索属于user2列
属于用户的一列是在网络模型中标识user2,