NomeErro:variável local indefinida ou método `mensagem'
-
24-12-2019 - |
Pergunta
Experimentando a gem do mailboxer e nas visualizações consigo referenciar o avatar do remetente no show de mensagens e funciona perfeitamente, mas na visualização de conversa da caixa de entrada recebo um undefined local variable or method `message'
com o mesmo código.Fiz vários ajustes no código, mas não consigo encontrar a linha correta que exibirá o avatar do remetente.
Visualização da caixa de entrada de conversas:
<%= content_tag_for(:li, conversation) do |conversation| %>
<%= link_to conversation.subject, conversation%> - <%= conversation.updated_at.strftime("%B %-d, %Y %l:%M%P") %>
| From: <% conversation.participants.each do |participant| %>
<% if participant != current_user %>
<%= link_to participant.username, participant %>
<% end %>
<% end %>
<%= image_tag message.sender.avatar.image_url(:avatar) %>
|
<% if conversation.is_completely_trashed?(current_user)%>
<%= link_to 'Untrash', [:untrash, conversation], method: :post%>
<%else%>
<%= link_to 'Move to trash', [:trash, conversation], method: :post%>
<% end %>
<% end %>
Visualização de mensagens:
<%= conversation.subject %>
From:
<% conversation.participants.each do |participant| %>
<% if participant != current_user %>
<%= link_to participant.username, participant %>
<% end %>
<% end %>
<%= content_tag_for(:li, conversation.receipts_for(current_user)) do |receipt| %>
<% message = receipt.message %>
From: <%= message.sender.username %>
<%= image_tag message.sender.avatar.image_url(:avatar) %>
<%= simple_format h message.body %>
Sent <%= conversation.updated_at.strftime("%a, %m/%e/%Y %I:%M %p") %>
<% end %>
<%= render 'messages/form', conversation: conversation %>
Solução
Defina o valor de message
variável na visualização Caixa de entrada de conversa, como você fez na visualização Mensagem
<% message = receipt.message %> ## In Message View
message
a variável não está definida na visualização Conversa, esse é o motivo do erro.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow