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