这是索引控制器中的代码。
order_customs = Order.select{|order| order.performer.white_label_id==1}
@orders_customs_display=order_customs.paginate(:page => params[:page], :per_page => 5)
@orders_customs_refunded=order_customs.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5)
order_white_label=Order.select{|order| order.performer.white_label_id!=1}
@orders_white_label_display=order_white_label.paginate(:page => params[:page], :per_page => 5)
@orders_white_label_refunded=order_white_label.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5)
我使用will_paginate gem进行分页。我以前使用它时没有任何错误,但是当我将代码从Order.all.paginate()
更改为Order.select{}.paginate()
时,错误即将发生。
我得到的错误是
未定义的方法`paginate'
我需要对这些值进行分页,以便在表格中显示它们。如果我不能对它们进行分页,是否有解决方法?
答案 0 :(得分:55)
您需要为数据类型will_paginate
添加Array
方法。
为此,请加上
行require 'will_paginate/array'
位于控制器的顶部,如果您需要在所有控制器中进行分页,则位于ApplicationController
。
答案 1 :(得分:-1)
删除.all对我有用。