我的问题的标题基本上说明了一切,但我想知道是否有人可以帮助我找到一组特定用户 ID 之间存在的对话。基本上,如果有人试图开始与特定用户组的对话,如果与该组用户的对话已经存在,我希望我的应用程序加载该对话而不是创建另一个对话。执行此操作的正确查询是什么?我尝试查看对话类:http ://rubydoc.info/gems/mailboxer/Conversation 。当我跑
Conversation.first.participants
我可以看到对话中的参与者,但没有看到任何查询仅包含特定 ID 集的对话的方法。
我想要做的基本上是这样的:
find Conversation where participants are exactly [current_user.id, 3, 5]
这将匹配与具有 ID 的参与者的[current_user.id, 3, 5]
对话,但不匹配与具有 ID 的参与者的[current_user.id, 3]
对话或与具有 ID 的参与者的对话[current_user.id, 3, 5, 7]
。