1

尝试使用will_paginate gem

我的宝石文件有:

gem 'will_paginate', '~> 3.0.0'

我的orders_controllers.rb:

def index
    @orders = Order.all.paginate(:page => params[:page], :per_page => 20)

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

在我的 index.html.erb 上,我放了:

<%= will_paginate @orders %>

错误:

NoMethodError in OrdersController#index

undefined method `paginate' for #<Array:0x007f79a1be62f8>
Rails.root: /home/askar/Dropbox/rails_studio/somics

Application Trace | Framework Trace | Full Trace
app/controllers/orders_controller.rb:5:in `index'

我现在有用于分页的 kaminari gem,但我想了解 will_paginate。

4

4 回答 4

9

默认情况下禁用数组函数,您必须通过在 WillPaginate 文件中要求它们来启用它们:

require 'will_paginate/array'
于 2013-06-10T08:50:12.923 回答
2

在您的 config/initializers 添加 will_paginate_array_fix.rb 文件并在 will_paginate_array_fix.rb 文件中添加

require 'will_paginate/array'
于 2013-06-12T12:53:26.937 回答
0

我只是想在你按照前面的答案建议的那样做之后添加:

在您的 config/initializers 添加 will_paginate_array_fix.rb 文件并在 will_paginate_array_fix.rb 文件中添加

require 'will_paginate/array'

您需要重新启动服务器才能使其生效。

于 2013-06-30T11:27:08.727 回答
0

我认为我们不需要在 config/initializers.xml 中添加任何文件。完成官方 github 页面上提到的所有步骤后,重新启动 rails 服务器,一切都会正常工作。

于 2013-07-28T19:06:00.777 回答