26

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

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」

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

4

2 に答える 2

65

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

これを行うには、次の行を含めます

require 'will_paginate/array'

コントローラーの上部、またはApplicationControllerすべてのコントローラーでページネーションが必要な場合は 。

于 2013-10-05T00:01:28.597 に答える
-2

.all を削除するとうまくいきました。

于 2014-01-23T13:23:12.720 に答える