1

rails3では、ほとんどすべてのクエリインターフェイスが遅延読み込みに変更されていますが、「paginate」メソッドを使用するとすぐに「will_paginate」がデータベースにヒットします。どうすればそれをlazyloadレコードにすることができますか?

4

2 に答える 2

0

Rails 3 でページネーションを実装するために limit(per_page).offset(page*per_page) を使用する非常に軽量なプラグインを作成しました。インターフェイスは will_paginate (@posts.recent.paginate :page=>params[:page]) とまったく同じです。ビュー ヘルパーはまだそれほど多くありませんが、役に立つと確信しています: http://github.com/josei/simple_paginate

于 2011-01-16T20:24:31.623 に答える
0

will_paginate の多くのコードを書き直して作成しましたが、will_paginate には 'Array' のサブクラスである 'WillPaginate::Collection' というコア クラスがあるため、will_paginate を遅延ロードするのは非常に困難です (私はこのクラスが好きではありません)。
「paginate」メソッドによって生成されたすべての結果は Collection インスタンスを返すため、「ActiveRecord::Relation」オブジェクトを「Array」に強制し、Relation をデータベースに即座にヒットさせます。

于 2010-08-23T09:52:26.857 に答える