web-dev-qa-db-ja.com

#<Array:0x0000000764d1b8>の未定義のメソッド `paginate '

これはインデックスコントローラーの私のコードです。

_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_paginategemを使用しています。以前はエラーなしで使用していましたが、コードをOrder.all.paginate()からOrder.select{}.paginate()に変更するとエラーが発生します。

私が得ているエラーは

未定義のメソッド `paginate '

表に表示するには、これらの値をページ分割する必要があります。それらをページ付けできない場合、回避策はありますか?

24
Aravind

データ型Arrayにはwill_paginateメソッドを含める必要があります。

そのためには、次の行を含めます

require 'will_paginate/array'

コントローラの上部、またはすべてのコントローラでページ付けが必要な場合はApplicationControllerにあります。

60
Tyler