0

Will_paginateプラグインを使用すると、ActiveRecordにページを設定できます。

実際、paginateこのActiveRecord内でメソッドを使用できます。たとえば、ページ付けしたい場合はOrder、次のようにします。

Order.paginate page:params[:page], order: 'created_at desc'

メソッドはどのようpaginateに作成されますか?これは、ある種の「ActiveRecord定義を取得してメソッドをに挿入する」を実行するWill_paginateプラグインですか?paginate

さらに、この例を維持するために、上記の仮定が正しい場合:

何らかの理由でOrder、まったく異なる目的で適切なページを定義した場合に、プラグインとの競合を回避するにはどうすればよいですか?

4

1 に答える 1

2

will_paginateは、extendメソッドを使用して、ActiveRecord::Baseクラスにモジュールを追加します。https://github.com/mislav/will_paginate/blob/master/lib/will_paginate/active_record.rb#L202を参照してください

Orderにpaginateというメソッドもある場合は、ActiveRecord :: Base#paginateメソッドをオーバーライドします。

于 2012-06-29T16:43:47.093 に答える