J'utilise Rails 3.2. Je pagine mes résultats en utilisant .page (1) .per_page (10)
comme
@users = User.method().page(1).per_page(10)
Maintenant, comment trouver le nombre total d'utilisateurs de la pagination
Comme parce que @users.count
donne 1 à partir de la première page et non le nombre total
Comment obtenir le nombre total d'utilisateurs même après la pagination
ÉDITER : @users.total_count
donne le nombre entier paginé
Comme mentionné dans la question, vous pouvez obtenir le nombre total des enregistrements avec
@users.total_count
J'ai ajouté cela comme une réponse par souci d'exhaustivité.
User.count vous donnerait le nombre, mais il atteindrait la base de données. Si vous utilisez mongodb @ user.length vous donnera le nombre total
Vous pouvez utiliser total_count
.
Cependant, si vous essayez d'obtenir le nombre total pour chaque page, c'est-à-dire quelque chose comme:
20 of 135 results
puis total_count
renverra simplement 135, pas le nombre de résultats sur la page.
Si vous voulez gérer ce cas ainsi que le cas où le nombre de résultats est inférieur au nombre de résultats de pagination, alors j'irais avec quelque chose comme ceci:
(per_size > @users.total_count) ? @users.total_count : per_size
où per_size
est la valeur que vous définissez pour votre portée per
( docs here ).