2010-01-02 115 views
0

同樣的問題已經被詢問了很多次,但我無法找到適合我的解決方案。Rails中控制器在另一個控制器中的渲染視圖

我有三種模式,帖子,用戶和圖片(回形針)。

我使用restful_authentication並進行設置,以便每個用戶只能在帖子/索引中看到他/她的帖子。我也給了他上傳個人資料圖片的能力。

我的問題是我如何拍照/索引並在帖子/索引中顯示。我想在帖子/索引頁面頂部顯示縮略圖,然後是帖子。

我用的諧音,但我得到的錯誤

NoMethodError in Posts#index 

Showing app/views/us/_picture.html.erb where line #1 raised: 

You have a nil object when you didn't expect it! 
You might have expected an instance of Array. 
The error occurred while evaluating nil.each 

Extracted source (around line #1): 

    1: <% for u in @us %> 
    2: <tr> 
    3:  <td><%= image_tag u.picture.url(:thumb) %></td> 
    4:  <td><%=h u.name %></td> 

我看看它都試圖做的,我怎麼解決它,這樣它只是顯示上傳的圖片。

感謝您的幫助。

回答

1

錯誤是說你還沒有爲模板分配@us實例變量,這通常是在控制器中執行的。

模板編譯步驟在第一個迭代步驟(迭代@us數組)時出現問題,它甚至沒有嘗試運行圖片訪問/渲染步驟,可能會也可能沒有問題它自己的。

在你的控制器搶一組用戶(有圖片)的並指定爲@us,一些基本的僞代碼:

class PostsController < ApplicationController 
    def index 
    @us = User.find(:limit => 10, :include => [:picture]) 
    end 
end 
+0

感謝您的答覆。我得到「沒有身份證找不到U」。難道是因爲我沒有屬於用戶的圖片(不是在restful_authentication下?) – 2010-01-02 18:08:09

相關問題