2012-05-16 36 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实例变量,以便您可以获取页面上的所有帖子。

相关问题