3

メールボックス ジェムを使用して、Ruby on Rails アプリ内でメッセージを送信しています。宝石は機能しています。送信されたメッセージのページで受信者にアクセスする方法を一生理解できません。送信されたメッセージのページで、送信されたメッセージをループして、送信されたメッセージの受信者にアクセスし、その人をユーザーに表示しようとしています。

通常の受信トレイ ページでは、以下を使用しました。

<% all_mail = current_user.mailbox.inbox %>
<% all_mail.each do |letter| %>
    <tr>
        <td><%= letter.messages.last.sender.email %></td>
        <td><%= letter.messages.last.subject %></td>
   </tr>
<% end %>

送信済みメッセージ ページを同様の外観にしようとしていますが、その方法がわかりません (具体的には、受信者の電子メールにアクセスします)。

私は使用できません:

#user wants to retrieve all his conversations
user.mailbox.conversations

#user wants to retrieve his inbox
user.mailbox.inbox

#user wants to retrieve his sent conversations
user.mailbox.sentbox

これらの方法を使用してメッセージがどのように表示されるかを整理する方法がないためです (少なくとも私の知る限り)。メッセージをループして、各メッセージのメッセージ受信者を見つけるにはどうすればよいですか?

4

2 に答える 2

0

各メッセージにはリストである受信者がいます。会話が 2 人のユーザーの間だけであると仮定すると、最初のリストの要素を取得できます。

<% conversation.messages.each do |message| %>
  <%= message.recipients.first.email %>, <%= message.body %>
<% end %>
于 2014-06-22T02:30:43.560 に答える