我有一个收件箱系统,但我不确定如何实现对功能的回复。所有消息应该属于某个其他实体,例如一个对话”。当第一条消息被创建时,对话也被创建。随后的所有消息都是该会话的一部分。对话只能在两个用户之间进行,没有允许用户转发消息或添加更多人到对话的选项。如果用户使用“回复”动作来回交换多个消息,用户应该能够在视图中查看他们过去的消息。这样做的要求是什么?我应该创建一个对话模型还是可以将新列添加到消息表conversation_id
。如果用户回复消息ID 27,则它将创建新的消息ID 28,并且conversation_id
值将是27.然后,我可以仅从conversation_id
27做出desc。这将显示属于ID 27的所有消息的历史将消息添加到消息的最佳路线
3
A
回答
0
你想在你的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
您正在使用的短语 “回复”,所以我假设对话已经存在。如果没有,作者必须在对话中指定其他用户。
0
你可能想看看Mailboxer Gem's sourcecode,你可能会在那里找到你的一些答案。
相关问题
- 1. 将消息添加到消息数组
- 2. 消息总线的最佳容器
- 3. 将消息添加到消息附加菜单
- 4. RabbitMQ:将消息路由到线程
- 5. iOS - 将消息添加到通知中心/消息中心
- 6. Ajax消息最佳实践
- 7. 将路由/特殊消息添加到akka路由器
- 8. Python:smtplib将新行添加到消息
- 9. 将图像添加到弹出消息
- 10. Java - 将消息添加到收件箱
- 11. 将user_id添加到消息模型
- 12. 将消息添加到Google群组
- 13. 将消息添加到图像java
- 14. 将标题添加到WCF RequestSecurityToken消息
- 15. 将“帮助”消息添加到字段
- 16. 将消息动态添加到div
- 17. 将链接添加到MessageDialog消息
- 18. 将标题添加到WCF消息
- 19. Mule将元素添加到XML消息
- 20. VB.NET添加异常消息的路径
- 21. 排列消息时的异常消息最佳实践
- 22. 将信息框添加到Google路线
- 23. 将传入消息的附件添加到新的传出消息中
- 24. 如何将消息添加到ID大于0x20000000(位29集)的消息表中?
- 25. 将消息从SQL添加到Azure服务总线队列
- 26. 路由socket.io消息来表示路线
- 27. 消息活动的最佳实践
- 28. SOA的最佳通用消息格式?
- 29. MATLAB消息ID的最佳实践?
- 30. 发送消息的最佳方法
如果您认为否则请仅仅向我解释它,因为从我正在阅读的内容来看,它不会是对以前的消息的功能回复。请记住在消息视图的回复中,我将显示对话的线程历史记录(就像所有收件箱邮件系统一样)。同样你也是对的,对话总是只有两个用户。 – pwz2000