Я хочу показать форту каждому пользователю список текущих разговоров. Поэтому они могут просто нажать на нее и отобразить желаемый разговор. Мне трудно найти, как сделать эту ссылку, поскольку объект беседы в почтовом ящике не имеет идентификатора.Mailboxer: как отобразить конкретную беседу?
Этот идентификатор, кажется, хранится в объекте уведомления, поэтому я попробовал эту опцию.
Этот код пришел с точки зрения индекса разговор
<%all_conv = current_user.mailbox.conversations%>
<%all_conv.each do |participant|%>
<div class="ligne_conversation">
<ul>
<a href="conversations/<%[email protected]_id%>">
<li>
<%=image_tag participant.messages.last.sender.avatar.url(:thumb) %>
<%=participant.messages.last.sender.name%>
<%=participant.messages.last.body%>
</li>
</a>
</ul></div>
Переменная @conversation_id экземпляр является определить в моем контроллере разговор
def index
if current_user.mailbox.conversations.any?
notification = Notification.find_by!(params[:id])
@conversation_id = notification.conversation_id
end
end
Это не работает: все ссылки ведут к разговору с идентификатором = 1.
Спасибо за ваш ответ, это сработало. Я забыл упомянуть, что я уже добавил '@conversation = Conversation.find (params [: id])' в мое действие show. Я был недопониманием (и, возможно, еще), как найти этот специальный идентификатор. Вы правы: это мое первое приложение после некоторого времени обучения. Я буду следовать твоему совету, мне нужно столько узнать, что это не повредит. – Ruff9
Отличный источник знаний о том, как http://www.railscasts.com, и многие из этих учебных пособий доступны бесплатно. Лучшие видеоролики Ryan Bates. –