Ruby on rails 将对话添加到邮件的最佳路径
我有一个收件箱系统,但我不知道如何实现回复功能。所有消息都应属于其他实体,例如“对话”。创建第一条消息时,也会创建对话。随后的所有消息都是该对话的一部分。对话只能在两个用户之间进行,没有允许用户转发消息或向对话中添加更多用户的选项。如果用户使用“回复”操作来回交换多条消息,则用户应该能够在视图中查看该对话中的过去消息。这样做的要求是什么?我应该创建一个对话模型,还是可以在Messages表Ruby on rails 将对话添加到邮件的最佳路径,ruby-on-rails,email,Ruby On Rails,Email,我有一个收件箱系统,但我不知道如何实现回复功能。所有消息都应属于其他实体,例如“对话”。创建第一条消息时,也会创建对话。随后的所有消息都是该对话的一部分。对话只能在两个用户之间进行,没有允许用户转发消息或向对话中添加更多用户的选项。如果用户使用“回复”操作来回交换多条消息,则用户应该能够在视图中查看该对话中的过去消息。这样做的要求是什么?我应该创建一个对话模型,还是可以在Messages表conversation\u id中添加一个新列。如果用户回复消息id 27,那么它将创建一个新的消息id
conversation\u id
中添加一个新列。如果用户回复消息id 27,那么它将创建一个新的消息id 28,conversation\u id
值将为27。然后我可以从conversation\u id
27中进行描述。这将显示属于id 27的所有消息的历史记录 您想在您的new
操作中的新消息
上填充一个recipient\u id
?是这样吗
如果一个对话保证只有两个用户,那么您可以执行以下操作
current_conversation.users.select{u|u.id!=current_user.id}
或
User.joins(:conversations)。其中(“conversations.id=?AND users.id!=?”,current_conversation.id,current_User.id)。首先
你用的是“回复”,所以我假设对话已经存在。如果没有,作者必须指定对话中的其他用户。您可能想看看,您可能会在其中找到一些答案。如果您不这么认为,请向我解释更多,因为从我阅读的内容来看,这不是对上一条消息的功能性回复。记住,在回复邮件视图中,我会显示对话的线程历史记录(就像所有收件箱消息系统一样)。此外,对话始终只有两个用户是正确的。