1

プライベート メッセージにこの gem を使用しています: https://github.com/jongilbraith/simple-private-messages

scaffold が提供する電子メールの会話ではなく、スレッドの会話を作成したいと考えています。

たとえば、ユーザー A がユーザー B に 10 件のメッセージを送信したとします。ユーザー A はユーザー C にも 10 件のメッセージを送信しました。

すべてのメッセージをループする代わりに。(e-mail look) 次のような脅威を作成したい:

受信トレイ

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

これらのビューを作成するにはどうすればよいですか? メッセージをグループ化するにはどうすればよいですか?

4

1 に答える 1

2

簡単に言えば、その宝石ではできません。それを拡張して会話モデルを追加し、それをユーザーとメッセージの間で橋渡しする必要があります。

代わりに、この宝石を使用することをお勧めします。

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
于 2012-11-05T23:45:57.843 に答える