Rails 3.2 アプリに will_paginate を使用しようとしていますが、データベース内のデータが変更されているときに誰かがページングしているときに何が起こるかについての参照はどこにもありませんでした。具体的には、新しいレコードが追加されます。
ここで何かが欠けているかもしれませんが、仕組みがわかれば、will_paginate は DB 内のレコードを単純にカウントします。一度に 5 つのレコードを含むページをロードし、それらを新しい順に並べたいとします。ユーザーがページをロードし、ページ 1 に表示されているレコード 6 ~ 10 (その時点で最新のレコード) を取得します。次に、誰かが別のレコードをテーブルに挿入します。id=11。その後、最初のユーザーがクリックしてページ 2 にアクセスしますが、ページ 2 にはレコード 2 ~ 6 が表示されます。したがって、ユーザーは両方のページで id=6 を取得しました。
この問題はそれほど悪くはないように思えますが、ここに示すように、無限スクロールに will_paginate ページングを使用したい場合は本当に悪いです: http://railscasts.com/episodes/114-endless-page
最初のページ読み込みのタイムスタンプを追加し、それを連続する ajax 呼び出しに渡して、最初に存在していたレコードをフィルタリングして、重複を取得しないようにすることを考えました。
これを処理するためのベストプラクティスの方法はありますか?