2011-06-15 56 views
0

所以我试图用will_paginate-Rails3中和它不在这里工作了是我在我的控制器:will_paginate gem是问题

def index 
    @posts = Post.paginate(:page => params[:page], :per_page => 2) 

    respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @posts } 
    end 
end 

的Gemfile:gem "will_paginate-rails3", '~> 3.0.pre'

帖子/ index.html.erb :<%= will_paginate @posts %>

NoMethodError: NoMethodError (undefined method `paginate' for #<Class:0x12c3438>): 
    app/controllers/posts_controller.rb:5:in `index' 

Rendered C:/Ruby/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.0ms) 
Rendered C:/Ruby/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.0ms) 
Rendered C:/Ruby/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (15.6ms) 

捆绑安装说,创业板是存在的:

有人知道我犯了什么错误吗?谢谢,

马特

回答

1

我在Gemfile中,它仅使用

gem 'will_paginate' 

作品

2

尝试使用

def index 
    @posts = Post.all.paginate(:page => params[:page], :per_page => 2) 

    respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @posts } 
    end 
end 
+0

增加.all仍然有错误。安装了一个软件包只是为了确保和重新开发,仍然没有运气 – Matt 2011-06-15 21:34:12

+0

嗯,我似乎已经遇到过去。让我看看我是否可以挖掘我的旧代码。 – 2011-06-15 21:44:27

+0

看来,这是一个已知的问题... https://github.com/radiant/radiant/issues/221 – 2011-06-15 21:47:58

0

尝试把这个在你的Gemfile来代替:

gem "will_paginate", "~> 3.0.pre2" 
+0

尝试两个宝石出来仍然得到错误 – Matt 2011-06-15 21:32:31

+0

这是一个镜头在黑暗中,但尝试添加'require'will_paginate''到你的environment.rb文件的底部 – dpb 2011-06-15 21:46:54

+0

yeah阅读另一篇关于将require'will_paginate'添加到config/env/dev.rb文件的文章。仍然没有工作。 – Matt 2011-06-15 22:00:34

0

尝试删除“全部”。我有同样的问题,因为我删除了“全部”,它现在起作用。 我的代码看起来像这样: .all.paginate:per_page => events_per_page,:page => params [:page] 在分页之前删除“all”。希望对你有效。 :)