53

レール3.2を使用しています。.page(1).per_page(10)を使用して結果をページ分割しています

お気に入り

@users = User.method().page(1).per_page(10)

次に、ページネーションからユーザーの総数を見つける方法

なぜなら、最初のページから10@users.countを与え、合計数ではないからです。

ページネーション後もユーザーの総数を取得する方法

編集:@users.total_countページ全体のカウントを与える

4

3 に答える 3

97

質問で述べたように、レコードの合計数を取得できます

@users.total_count

完全を期すために、これを回答として追加しました。

于 2012-11-05T13:57:53.000 に答える
0

User.count はカウントを提供しますが、データベースにヒットします。mongodb @user.length を使用している場合、合計カウントが得られます

于 2012-08-02T10:45:50.307 に答える
0

使用できますtotal_count

ただし、各ページの合計数を取得しようとしている場合、つまり次のようになります。

20 of 135 results

その場合total_count、ページ上の結果の数ではなく、135 が返されます。

このケースと、結果の数がページネーションの結果の数よりも少ないケースを処理したい場合は、次のようにします。

(per_size > @users.total_count) ? @users.total_count : per_size

whereは、スコープper_sizeに設定する値です( docs here )。per

于 2019-10-22T19:44:14.940 に答える