Rails Sunspot Kaminari Max成绩30

时间:2014-02-11 02:12:54

标签: ruby-on-rails sunspot kaminari

我正在使用太阳黑子和Kaminari进行分页。但是,我发现返回的最大结果(即使有更多)是30。

这是我的代码:

Kaminari.paginate_array(search.results).page(params[:page]).per(10)

请告知如何相应地返回所有结果和分页。

1 个答案:

答案 0 :(得分:1)

All results from Solr are paginated... By default, Sunspot requests the first 30 results from Solr。在您的示例中,您将对Solr返回的前30个结果的数组进行分页。

我发现在控制器的搜索块中调用paginate最简单...

@search = Sunspot.search(BlogPost) do
  # filters...
  paginate(page: params[:page], per_page: 10)
end

然后在我的观点中使用Kaminari的分页助手......

<%= paginate @search.results %>

*如果您不想加载模型实例,可以使用@search.hits


或者,looks like您可以将:total_count作为关键字参数传递给Kaminari的paginate_array方法。所以如果你想坚持上面使用的方法,这应该有用......

Kaminari.paginate_array(search.results, total_count: search.total).page(params[:page]).per(10)