我可以获得消息的最后一个 sender :
对话。receipts_for(current_user).last.message.sender.name
,但无法获得同一消息的收件人。我想显示gmail-esk:
发件人名称,收件人名称|主题|日期
有什么想法?
有一个带有邮箱的participants
方法,但我相信没有收件人。相反,我创建了这个:
recipient = conversation.participants.find { |p| p != current_user }
请注意,current_user
来自设计。
我在助手文件中创建了此方法:
def participant_names(conversation)
conversation.receipts.reject { |p| p.receiver == current_user }.collect {|p| p.receiver.name }.uniq.join(" ,")
end
这是在从对话对象中删除current_user,然后创建一个新数组,其中包含(在这种情况下为用户)该对象的名称。" .uniq"方法可确保每个用户的名称仅显示一次(在这种情况下,有很多来回对话)。最后,逗号将它们分开。