我正在将此gem用于私人消息:https://github.com/jongilbraith/simple-private-messages
我想创建一个线程对话,而不是脚手架提供的电子邮件对话。
例如,用户A向用户B发送了10条消息。用户A也向用户C发送了10条消息。
而不是遍历所有消息。 (电子邮件看)我想创建一个像以下的威胁:
收件箱
Conversation with User A (10 messages)
Conversation with User C (10 messages)
点击对话时,应在日期后订购消息。所以这就像是一场谈话。
消息表:
id
sender_id
recipient_id
sender_deleted
recipient_deleted
subject
body
read_at
created_at
updated_at
如何创建这些视图?如何对邮件进行分组?
答案 0 :(得分:2)
简短的回答是:你不能用那个宝石。您必须扩展它并添加一个Conversation模型,然后在用户和消息之间建立桥接。
相反,我建议你使用这个宝石:
https://github.com/ging/mailboxer
比你目前的宝石强大得多,而且开箱即用的对话。我以前用它来模仿类似gmail的视图。
从指南中:
#alfa wants to retrieve all his conversations
alfa.mailbox.conversations
#A wants to retrieve his inbox
alfa.mailbox.inbox
#A wants to retrieve his sent conversations
alfa.mailbox.sentbox
#alfa wants to retrieve his trashed conversations
alfa.mailbox.trash
简单的馅饼:
current_user.mailbox.conversations.each do |convo|
convo.subject
...
end