web-dev-qa-db-ja.com

雷鳴改ページ後の総数を取得する方法

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

お気に入り

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

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

なぜなら@users.countは、合計数ではなく、最初のページから1を返します

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

編集:@users.total_countは、ページ番号付きのカウント全体を提供します

51
useranon

質問で述べたように、あなたはレコードの総数を得ることができます

@users.total_count

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

89
Jon Cairns

User.countはカウントを提供しますが、dbをヒットします。 mongodb @ user.lengthを使用している場合、合計数が表示されます

0
Abhay Kumar

total_countを使用できます。

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

20 of 135 results

その場合、total_countは、ページの結果数ではなく、135を返します。

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

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

ここで、per_sizeperスコープに設定する値です( ドキュメントはこちら )。

0
DaniG2k