2013-10-04 9 views
14

このコードはインデックスコントローラにあります。#<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_paginate gemを使用しています。以前はエラーなしで使用していましたが、コードをOrder.all.paginate()からOrder.select{}.paginate()に変更したときにエラーが発生しています。

私は取得していますエラーが

未定義のメソッド `のpaginate」私はテーブルにそれらを示すためにこれらの値をページ付けする必要が

です。私がそれらに改ページできない場合は、回避策がありますか?

答えて

48

データタイプArrayには、will_paginateメソッドを含める必要があります。あなたは、コントローラのすべてで改ページが必要な場合は、そうするには

は、ライン

require 'will_paginate/array' 
あなたのコントローラの上部に

、またはApplicationControllerであります。

+0

他のコントローラのどこかに必要なのは難しいことですが、コントローラの前にこのコントローラが呼び出されると、エラーがスローされません。したがって、配列がページ区切りされているかどこにでも置かれているどこにでも追加することを忘れないでください。 ApplicationController。 – dduft

-1

.allを削除すると私にとって問題がなくなりました。

関連する問題