activerecordからのページの結果の数を厳しく制限することは可能ですか?
制限はわかりますが、エンドレススクロールjqueryプラグインを使用すると、ページあたりのレコード数が制限されるだけです。.limit(10)=ページあたり10。たとえば、特定のユーザーが最初の100件を超える結果を取得できないように、レコードの総数を制限する必要があります。
これは可能ですか、そしてそれをどのように行うのですか?
activerecordからのページの結果の数を厳しく制限することは可能ですか?
制限はわかりますが、エンドレススクロールjqueryプラグインを使用すると、ページあたりのレコード数が制限されるだけです。.limit(10)=ページあたり10。たとえば、特定のユーザーが最初の100件を超える結果を取得できないように、レコードの総数を制限する必要があります。
これは可能ですか、そしてそれをどのように行うのですか?
似たような条件(例:id)を設定しない限り、ActiveRecordからアクセスすることはできません。ただし、ページとper_pageパラメータを確認することでクエリを制御できます。
page = params[:page] || 0
per_page = 20
if page * per_page > 100
@users = [] # You may have to make this a collection depending on what pagination gem you use
else
@users = User.page(page).per_page(per_page)
end
私はこの質問が古いことを知っていますが、私はここに行き着き、他の場所で見つけた答えが役立つかもしれないと思いました。バージョン4の時点でActiveRecordに制限機能があります-
User.limit(10) # generated SQL has 'LIMIT 10'