我有一个使用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进行分页。
答案 0 :(得分:0)
您可以像kaminari一样使用param_name
选项
<%= paginate @result1, param_name: 'result1' %>
同样适用于@ result2。然后,您应该使用params[:anchor]
来获取页码,而不是params[:result1]
。由于您将为@ result1和@ result2使用不同的参数名称,因此它们不会互相干扰