ruby-on-rails 使用will_paginate gem在rails中获取当前页面的记录计数

643ylb08  于 2023-10-21  发布在  Ruby
关注(0)|答案(6)|浏览(110)

我需要得到当前页面的记录数。我正在使用will_paginate gem进行分页。当尝试获取集合时。计数我正在获取记录的总数?

@collection = User.paginate(page: params[:page], per_page: 10).all

当我试图得到收集的计数时,它返回总条目。如何获取当前表的记录数

smdncfj3

smdncfj31#

如果需要整个查询中的总条目:

@collection.total_entries

如果您需要当前页面中的条目计数:

@collection.size

同时,你不需要在分页中调用最后一个.all作用域。试试看:

@collection = User.paginate(page: params[:page], per_page: 10)
zvokhttg

zvokhttg2#

试试看:

@collection.total_entries
jucafojl

jucafojl3#

如果你想知道当前页面上的项目数量,你应该执行@collection.size。如果你想得到项目的总数,你应该做@collection.count
您可以尝试将page设置为最后一页以查看差异。
也使用

@collection = User.paginate(page: params[:page], per_page: 10)

因为paginate将只返回相应的set,配置有pageper_page参数。

w8rqjzmb

w8rqjzmb4#

我还想找到当前页面的记录数。但是@surveys.size并不返回当前页面中的记录数,相反,它返回的是当前页面已被填充的记录数。

@collection.length

是提供所需结果的方法。

lskq00tm

lskq00tm5#

@collection.entries

给你当前页面上的条目例如,如果您对25个条目进行分页,它将显示Array类中的25个条目

e3bfsja2

e3bfsja26#

在Rails 7中,返回不考虑分页的项目总数:

@collection.total_count

相关问题