我有一個收件箱系統,但我不確定如何實現對功能的回覆。所有消息應該屬於某個其他實體,例如一個對話」。當第一條消息被創建時,對話也被創建。隨後的所有消息都是該會話的一部分。對話只能在兩個用戶之間進行,沒有允許用戶轉發消息或添加更多人到對話的選項。如果用戶使用「回覆」動作來回交換多個消息,用戶應該能夠在視圖中查看他們過去的消息。這樣做的要求是什麼?我應該創建一個對話模型還是可以將新列添加到消息表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