如何获得Kaminari分页后的总数

时间:2012-06-13 10:45:03

标签: ruby-on-rails-3.1 kaminari

我正在使用rails 3.2。我使用.page(1).per_page(10)

对结果进行分页

喜欢

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

现在如何从分页中找到用户的总数

因为@users.count从第一页开始 10 而不是总计数

即使在分页后如何获得用户总数

编辑:@users.total_count给出整个分页计数

3 个答案:

答案 0 :(得分:85)

如问题中所述,您可以使用

获取记录的总数
@users.total_count

为了完整起见,我已将此作为答案添加。

答案 1 :(得分:1)

User.count会给你计数,但它会击中数据库。如果您使用mongodb @ user.length将为您提供总计数

答案 2 :(得分:0)

您可以使用total_count

但是,如果您要获取每一页的总计数,即:

20 of 135 results

然后total_count只会返回135,而不是页面上的结果数。

如果您要处理这种情况以及结果数小于分页结果数的情况,那么我会选择这样的东西:

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

其中per_size是您为per范围(docs here)设置的值。