0

@customers を返すためのインデックス内のコードは次のとおりです。

@customers = Customerx::Customer.where(:active => true).order("since_date DESC, id DESC").paginate(:per_page => 30, :page => params[:page])

以下のエラーが発生します。

undefined method `paginate' for #<ActiveRecord::Relation:0x6b88960>

デバッグでは、 をActiveRecord::Base.respond_to? :paginate返しますfalsewill_paginate (3.0.3) で返されたにもかかわらず、 will_paginate がロードされていないようですgem list

コードのどこが間違っている可能性がありますか?

4

2 に答える 2

2

gem will_paginateRailsエンジンのgemspecにあるにもかかわらず、エンジンのgemfileを追加することで問題は修正されましgem will_paginateた。この問題は、gem paginate がロードされず、ActiveRecord::Base.respond_to? :paginatefalse が返されたことが原因でした。

これは、ここの問題に多少似ている投稿です。

Rails エンジン - Gem の依存関係、それらをアプリケーションにロードする方法は?

于 2013-01-15T15:07:51.440 に答える
1

私も以前はこのエラーが発生していたので、ページメソッドを試してみました...使用

@customers = Customerx::Customer.where(:active => true).order("since_date DESC, id DESC").page(params[:page]).per_page(30)
于 2013-01-15T04:43:07.583 に答える