因此,在使用时狮身人面像搜索结果限制为1000个结果。 但是,如果有超过1000所产生的结果分页链接will_paginate
没有考虑到这一点,并超出页面提供链接1000/per_page
。 是一种明显的方式设置一个最高的网页或类似的东西?
干杯。
因此,在使用时狮身人面像搜索结果限制为1000个结果。 但是,如果有超过1000所产生的结果分页链接will_paginate
没有考虑到这一点,并超出页面提供链接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
,您避免SQL COUNT查询will_paginate正常运行检索条目总数。
if params[:page].to_i * 30 <= 1000
@posts = Post.paginate(:page => params[:page], :per_page => 30)
end
我找到了最好的解决办法是要做到这一点:
@results = Model.search(...)
if @results.total_pages >= (1000/Model.per_page)
class << @results; def total_pages; 1000/Model.per_page; end end
end
凡1000最好不要硬编码:)。 这可以让你的will_paginate视图助手的正确行为的自由,