2

activerecordからのページの結果の数を厳しく制限することは可能ですか?

制限はわかりますが、エンドレススクロールjqueryプラグインを使用すると、ページあたりのレコード数が制限されるだけです。.limit(10)=ページあたり10。たとえば、特定のユーザーが最初の100件を超える結果を取得できないように、レコードの総数を制限する必要があります。

これは可能ですか、そしてそれをどのように行うのですか?

4

2 に答える 2

4

似たような条件(例: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
于 2012-08-27T14:54:45.483 に答える
2

私はこの質問が古いことを知っていますが、私はここに行き着き、他の場所で見つけた答えが役立つかもしれないと思いました。バージョン4の時点でActiveRecordに制限機能があります-

User.limit(10) # generated SQL has 'LIMIT 10'

https://apidock.com/rails/ActiveRecord/QueryMethods/limit

于 2018-04-25T20:49:52.193 に答える