2012-05-16 31 views
0

我正在開發一個網站。我想顯示所有用戶的所有帖子。但我得到以下錯誤消息:顯示主頁上的所有文章數據庫

未定義的方法`每個」的零:NilClass 提取的源(圍繞線#3):

\應用\視圖\ static_pages \ home.html.erb:

<div class="span8">  
    <ul class="microposts"> 
     <% @microposts.each do |micropost| %> 
     <li> 
      micropost.content 
     </li> 

,我已經在 \程序\控制器\ static_pages_controller.rb已經定義:

class StaticPagesController < ApplicationController 

    def home 
    if signed_in? 
     @micropost = current_user.microposts.build 
     @feed_items = current_user.feed.paginate(page: params[:page]) 
    end 
    end 

    def index 
    @microposts = Micropost.all 
    end 
end 

缺少了什麼?我已經在數據庫中有310個示例帖子...

回答

3

你想在哪個頁面上顯示帖子?如果這是home,那麼你應該修改你的home動作載入的所有帖子:

def home 
    if signed_in? 
    @micropost = current_user.microposts.build 
    @feed_items = current_user.feed.paginate(page: params[:page]) 
    end 

    @microposts = Micropost.all 
end 

也許是因爲@feed_items你想顯示home頁面上?

+0

謝謝你,定義家裏面的@microposts絕對有幫助!非常感謝!! –

2

您正在主視圖中迭代@microposts實例變量,但是您已在主操作中定義了@micropost。這是錯誤的,你在做。

您需要在主頁視圖中定義@microposts實例變量,以便您可以獲取頁面上的所有帖子。

相關問題