如何使用Kaminari Gem在多个选项卡中进行分页

时间:2015-07-13 13:12:39

标签: ruby-on-rails pagination kaminari

我有一个使用solr获取结果的方法。例如。

 def test
    @result1 = Model1.search do
       fulltext params[:search]
       paginate page: params[:page], per_page: 12
     end
    @result2 = Model2.search do
       fulltext params[:search]
       paginate page: params[:page], per_page: 12
     end

 end

现在我有2个结果,我在测试页面中显示了2个标签。

当我通过标签显示内容时,数据会在每个标签中正确填充,但我的分页存在问题。

当我在result2选项卡中单击第3页上的假设时,它会显示result2的第3页,但是当我点击result1选项卡时,它会将我带到result1选项卡的第3页。当我点击result1标签时它应该转到第1页。

 <%= paginate @result1 ,:params => { :anchor => 'result1' }%>

 <%= paginate @result2 ,:params => { :anchor => 'result2' }%>

我该如何解决这个问题。我正在使用kaminari gem进行分页。

1 个答案:

答案 0 :(得分:0)

您可以像kaminari一样使用param_name选项

<%= paginate @result1, param_name: 'result1' %>

同样适用于@ result2。然后,您应该使用params[:anchor]来获取页码,而不是params[:result1]。由于您将为@ result1和@ result2使用不同的参数名称,因此它们不会互相干扰