2014-02-27 99 views
0

嘗試郵箱gem和視圖中我可以引用消息顯示中的發件人頭像,它的工作原理非常完美,但在收件箱的對話視圖中,我收到一個undefined local variable or method `message'相同的代碼。我對代碼進行了一些調整,但我似乎無法想出顯示發件人頭像的正確線條。NameError:未定義的本地變量或方法`消息'

對話收件箱視圖:

<%= 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 %> 

消息顯示:

<%= 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 %> 
+0

在哪裏渲染調用視圖? –

回答

1

設置就像你在郵件視圖也做了在對話收件箱視圖message變量的值

<% message = receipt.message %> ## In Message View 

message變量未在「對話」視圖中定義,即r因爲錯誤。

+0

我以前做過。我加了'<%= content_tag_for(:li,conversation.receipts_for(current_user))do | receipt | %>'設置了消息變量,那給了我''未定義的方法'image_url'爲零:NilClass'' –

+0

您收到的錯誤是因爲'message'variable未定義。你現在在問什麼,我沒有收到什麼?你是否設置了變量,現在又發生了另一個錯誤? –

+0

設置變量後,錯誤現在是''未定義的方法'image_url'爲零:NilClass'' –

相關問題