因此,當使用Sphinx搜索時,限制爲1000個結果。但是,如果will_paginate
生成的結果分頁鏈接超過1000個,則不會考慮此問題,並提供除1000/per_page
之外的頁面的鏈接。是設置最大頁面或類似的一種顯而易見的方式嗎?will_paginate中的頁數限制
乾杯。
因此,當使用Sphinx搜索時,限制爲1000個結果。但是,如果will_paginate
生成的結果分頁鏈接超過1000個,則不會考慮此問題,並提供除1000/per_page
之外的頁面的鏈接。是設置最大頁面或類似的一種顯而易見的方式嗎?will_paginate中的頁數限制
乾杯。
我找到了最好的解決辦法是要做到這一點:
@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視圖助手的正確行爲,
if params[:page].to_i * 30 <= 1000
@posts = Post.paginate(:page => params[:page], :per_page => 30)
end
我認爲這是最好的參數: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正常運行檢索條目總數。
哈哈,這很有趣,解決了我的直接使用案例。 – 2017-12-07 15:31:30