gpt4 book ai didi

ruby-on-rails - 向消息添加对话的最佳途径

转载 作者:行者123 更新时间:2023-12-02 04:58:11 25 4
gpt4 key购买 nike

我有一个收件箱系统,但我不确定如何实现回复功能。所有消息都应该属于其他一些实体,例如一个对话”。创建第一条消息时,也会创建对话。所有后续消息都是该对话的一部分。对话只能在两个用户之间进行,没有允许人们转发消息或将更多人添加到对话中的选项。如果用户使用“回复”操作来回交换多条消息……用户应该能够在 View 中查看该对话中他们过去的消息。这样做的要求是什么?我应该创建对话模型还是可以向消息表 conversation_id 添加新列。如果用户回复消息 id 27,那么它会创建一个新的消息 id 28,conversation_id 值将是 27。然后我可以从 conversation_id 27 做一个 desc . 这将显示属于 id 27 的所有消息的历史记录。

最佳答案

您想在 new 操作的新 Message 上填充 recipient_id 吗?是吗?

如果对话保证只有两个用户,你可以做类似的事情

current_conversation.users.select { |u| u.id != current_user.id }

User.joins(:conversations).where("conversations.id = ? AND users.id !=?", current_conversation.id, current_user.id).first

您使用的是“回复”这个短语,所以我假设对话已经存在。如果不是,作者无论如何都必须指定对话中的其他用户。

关于ruby-on-rails - 向消息添加对话的最佳途径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19545380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com