【发布时间】:2014-11-21 15:39:09
【问题描述】:
我的问题在这里非常具体。我有一组来自太阳黑子查询的结果,
@search = Product.search do
with(:website_id, id)
with(:archived_at, nil)
with(:category_id, restrictive_category_ids)
fulltext search_string do
phrase_fields(:name => 1, :artist => 3, :tag_list => 2)
minimum_match 0 #enables search to be performed by each word, not the whole phrase.
end
paginate :page => 1, :per_page => 2
end
@products = @search.results
这会产生多页结果,每页 2 个。所有这些都在控制台中使用 Sunspot 进行了验证。
我的问题是尝试将结果与 will_paginate 一起使用。例如在视图中:
<%= will_paginate @products, param_name: 'products', class: 'pagination-nav' %>
由于@products 在初始查询中只返回 2 个结果,will_paginate 认为只有 2 个结果,因此甚至没有出现。如果我用 Product.all 替换 @products,它显然会出现并显示结果页面。
所以我不确定我需要做什么来告诉 will_paginate 实际有多少结果,所以它知道要显示多少页。当然,我可以对所有这些记录进行单独的查询,但这会对应用程序造成很大的拖累,并且鉴于 Sunspot 声称可以使用 will_paginate,我假设一定有更简单的方法。
感谢您的帮助!
【问题讨论】:
标签: solr will-paginate sunspot-rails