9

我正在尝试使用 will_paginate gem,但出了点问题。我遇到了一个undefined method `paginate'错误。我阅读了很多问题并尝试了很多事情。这是我所拥有的:

这是我的 LocationsController.rb:

def index
  @locations = Location.all    
  respond_to do |format|
    @locations = @locations.paginate(:page => params[:page], :per_page => 10) 
    format.html  #index.html.erb
    format.json { render json: @locations }
  end 
end

这是我的 will_paginate 行index.html.erb

<%= will_paginate @locations %>

这是错误:

undefined method `paginate' for #<Class:0xaa2e48c>

我还在我的Gemfile

gem "will_paginate", "~> 3.0.4", :require => nil

这在我的结尾environment.rb

require "will_paginate"`
4

4 回答 4

24

确保在安装后重新启动服务器'will_paginate' gem

就我而言,这是一个愚蠢的问题。

于 2016-04-30T16:07:31.280 回答
17

will_paginate 不是那样工作的。paginateLocation类的一个方法:

def index
  @locations = Location.paginate(page: params[:page], per_page: 10) 
  respond_to do |format|
    format.html
    format.json { render json: @locations }
  end 
end

此外,要使用 will_paginate 你只需要在你的 中添加以下行Gemfile,不需要修改environment.rb

gem "will_paginate", "~> 3.0.4" 
于 2013-06-14T09:53:52.970 回答
3

您尝试对数组进行分页。尝试这个:

def index
   @locations = Location.paginate(:page => params[:page], :per_page => 10)   

     respond_to do |format|
      format.html  #index.html.erb
      format.json { render json: @locations }
    end 
  end

如果你想对数组进行分页,请参阅Paginating an Array in Ruby with will_paginate

于 2013-06-14T09:57:26.163 回答
0

如果有人来这里寻找答案,为什么 <%= will_paginate %> 不起作用或给出错误参数的错误。请做一次

1-替换你的gem文件将用这个gem“will_paginate”,“~> 3.1.7”对gem进行分页

2-然后在您的控制台中运行“捆绑安装”并重新启动服务器。

我希望这会对某人有所帮助。

于 2020-08-25T12:24:44.967 回答