will_paginate未定义的方法错误 - Ruby on Rails

时间:2010-04-15 04:46:54

标签: ruby-on-rails ruby pagination

对于will_paginate,我只是installed the gem,并说它已成功安装。我跟随插件中列出的all the instructions,我得到'错误的'未定义的方法`paginate'。找不到谷歌搜索的方式,也无法自己解决(显然)。这是代码:

PostsController

def index
    @tag_counts = Tag.count(:group => :tag_name, :order => 'updated_at DESC', :limit => 10)
    @posts = Post.paginate :page => params[:page], :per_page => 50

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

/model/post.rb

class Post < ActiveRecord::Base
  validates_presence_of :body, :title
  has_many :comments, :dependent => :destroy
  has_many :tags, :dependent => :destroy

  cattr_reader :per_page
    @@per_page = 10

end

/posts/views/index.html.erb

  <%= will_paginate @posts %>

UPDATE 我使用脚本/控制台来确定是否正确安装了will_paginate但事实并非如此。我不得不补充道:

config.gem 'will_paginate', :version => '~> 2.3.11', :source => 'http://gemcutter.org'

到/config/environments.rb文件并重新启动服务器。效果很好。

2 个答案:

答案 0 :(得分:2)

我使用脚本/控制台来确定是否正确安装了will_paginate但事实并非如此。我不得不补充道:

config.gem 'will_paginate', :version => '~> 2.3.11', :source => 'http://gemcutter.

效果很好。简单的修复。

答案 1 :(得分:2)

我遇到了一个未定义的方法错误,使用了will_paginate gem(使用Rails 3)因为我错误地放置了。 。

gem 'will_paginate'

。 。 。命令在Gemfile中的错误位置。确保将它放置在所有运行时环境可用的位置 - 而不是嵌套在分区关闭环境中,例如:

group :test do
.
.
.
end