我已经习惯将邮箱中的邮箱用于邮箱。我想从会话中删除参与者。如何删除它?任何人都可以告诉我。
答案 0 :(得分:0)
如果您仍在寻找答案,我只是遇到了同样的问题并发现了一些有趣的事情。
在我的场景中,我有一组用户,他们共享一个共同的对话。因此,团队对象持有conversatoin_id。每次创建团队或某人加入团队时,都会创建一个新会话,或者使用add_participant(用户)功能将新人添加到现有会话中。
我遇到过这个问题,因为我的用户现在需要能够离开团队,这意味着他们会被排除在team_conversation之外。
查看Mailboxer Gem的源代码,可以看到add_participant(用户)函数实际为对话中创建的每条消息创建一个新收据,并使用add_participant(用户)调用中的用户作为接收者。
因此,为了扭转这种情况,从而从对话中删除某人,你可以做到
@user_receipts = @conversation.receipts_for(user)
@user_receipts.destroy_all
这对我来说很好。不过要小心。由于这会删除该用户对于给定对话的所有收据,如果您希望查看用户在对话中写的内容,您必须找到另一个仍处于活动状态且在该时间处于活动状态的用户。 user-who-left是活跃的。无论如何,我希望它能解决你的问题,如果你有任何疑问,请告诉我。 d
答案 1 :(得分:0)