ruby-on-rails - 限制 will_paginate 中的页数

标签 ruby-on-rails ruby pagination will-paginate

因此,在使用 Sphinx 时,搜索限制为 1000 个结果。但是,如果 will_paginate 生成的结果分页链接超过 1000 个,请不要考虑这一点,并提供指向超过 1000/per_page 的页面的链接。设置最大页数或类似内容的明显方法是什么?

干杯。

最佳答案

我认为最好将参数:total_entries提交给方法paginate:

@posts = Post.paginate(:page => params[:page], :per_page => 30, 
                       :total_entries => 1000)

will_paginate 将仅为显示 1000 个结果所需的页数生成链接。

还可以验证请求的页面是否属于区间:

if params[:page].to_i * 30 <= 1000
  @posts = Post.paginate(:page => params[:page], :per_page => 30, 
                         :total_entries => 1000)
end

此外,通过提交参数 :total_entries,您可以避免 will_paginate 通常运行以检索条目总数的 sql COUNT 查询。

关于ruby-on-rails - 限制 will_paginate 中的页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173495/

相关文章:

ruby-on-rails - "SSL_read: cert already in hash table"异步发送邮件时

ruby - 类函数不包含在模块中

postgresql - 在 PostgreSQL 中使用 "Cursors"进行分页

jquery - 限制分页中可见页面的数量

ruby-on-rails - 创建一个根据子类的属性排序的对象数组

ruby-on-rails - 使用带有 Rails 3 的 Godaddy 邮件的 SMTP 设置

ruby-on-rails - 在 Rails 3.2.1 中构造 link_to

ruby - 如何使用 Celluloid 从线程池运行 HTTP 请求?

ruby-on-rails - 是否存在用于 Web hook 实现的现有 gem 或服务?

php - 对两个不同的表进行分页