2014-01-28 1 views
2

Я использую почтовый ящик для отправки сообщений в моем рубине на приложении 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 

, потому что нет никакого способа, чтобы организовать как сообщения отображаются с помощью этих методов (по крайней мере, насколько я знаю). Как я могу прокручивать сообщения и находить получателя сообщения для каждого сообщения?

ответ

2

У вас есть участники разговоров (вы называете это буквами).

Просто отфильтруйте текущего пользователя, и все будет хорошо.

conversation = user.mailbox.sentbox.first 
filtered_participants = conversation.participants.reject do |u| 
    u.id == current_user.id 
end 
+0

Удивительный, спасибо! – Philip7899

0

Каждое сообщение имеет получателей, что является списком. Предполагая, что ваши разговоры находятся между двумя пользователями, вы можете захватить элемент первого списка:

<% conversation.messages.each do |message| %> 
    <%= message.recipients.first.email %>, <%= message.body %> 
<% end %> 

 Смежные вопросы

  • Нет связанных вопросов^_^