Использование mailboxer gem версии 0.12.2 с Rails версии 4.1.4.
Когда я отправляю сообщение самому себе, в представлении «Беседа» одно и то же сообщение отображается дважды (один раз как mailbox_type
=sentbox
и один раз как mailbox_type
=inbox
). У меня нет этой проблемы с сообщениями, отправленными другим пользователям.
Я просто хочу показать сообщение один раз в моем представлении беседы (в идеале версия inbox
при просмотре моего почтового ящика и версия sentbox
при просмотре отправленных сообщений). Есть ли способ, которым я могу это сделать?
Вот мое действие show
в моем пользовательском ConversationsController
(current_user
— это метод разработки, указывающий на текущего пользователя, вошедшего в систему)
def show
@mailbox = current_user.mailbox
@conversation = @mailbox.conversations.find(params[:id])
@receipts = @conversation.receipts_for(current_user)
end
Я также пробовал следующие комбинации в моем действии show
, все с теми же результатами.
- Использование метода
inbox
вместо методаconversations
:@conversation = @mailbox.inbox.find(params[:id])
- Использование метода
receipts_for
для переменной экземпляра@mailbox
:@receipts = @mailbox.receipts_for(@conversation)
Вот мой соответствующий вид show.html.erb
<ul>
<%= content_tag_for(:li, @receipts) do |receipt| %>
<% message = receipt.message %>
<strong>From:</strong> <%= message.sender.email %>
<br/>
<strong>Message:</strong><%= simple_format h message.body %>
<strong>Sent:</strong> <%= @conversation.updated_at.strftime("%a, %m/%e/%Y %I:%M %p") %>
<div>
<br/>DEBUG INFO:<br/>
Message Id <%= message.id %><br/>
Receipt Id <%= receipt.id %><br/>
Receipt Mailbox type <%= receipt.mailbox_type %><br/>
</div>
<hr/>
<% end %>
</ul>
Есть ли способ просто получить представление «Входящие» для разговоров с самим собой, чтобы не отображались дубликаты сообщений?