mailboxer - получить получателя сообщения
Я могу получить последнего отправителя сообщения:
conversation.receipts_for (Текущий_пользователь).last.message.sender.name
но не может получить получателя (ей) того же сообщения. Я хотел бы отобразить gmail-esk:
Имя отправителя, Имя получателя | Тема | Дата
Есть идеи?
2 ответа
Я создал этот метод в файле помощника:
def participant_names(conversation)
conversation.receipts.reject { |p| p.receiver == current_user }.collect {|p| p.receiver.name }.uniq.join(" ,")
end
Это делает, удаляя current_user из объекта диалога, а затем создает новый массив, который содержит имена (в данном случае пользователей) этого объекта диалога. метод.uniq гарантирует, что имя каждого пользователя будет отображаться только один раз (в случае, когда было много сообщений назад и вперед). Наконец запятая разделяет их.
E сть participants
метод с почтовым ящиком, но я считаю, что нет получателя (ей). Вместо этого я создал это:
recipient = conversation.participants.find { |p| p != current_user }
Обратите внимание, что current_user
исходит из устройства