如何在一个页面中使用两个分页并使它们单独工作?例如,请参见下图:
在图像的顶部有两个分页:左边第1个,右边第2个。如果我点击第一个分页,那么我只需要加载第一个分页上的数据而不加载整个页面;第二个应该保持不变并分开。
以下是我显示的数据的控制器代码:
@first= Post.paginate(page: params[:page], :per_page => 4).order('post_id DESC')
@second= Post.paginate(page: params[:page], :per_page => 4).order('post_id ASC')
分页will_paginate
答案 0 :(得分:1)
对于单独加载,您可以更改您的分页参数,例如params[:page]
更改为params[:first]
秒是相同的程序&amp;使用您的观看页面<%= will_paginate @first, :param_name => 'first or second' %>
&amp;然后你尝试ajax页面加载脚本显示结果没有整页加载。您需要在当前页面文件夹中创建index.js.erb
文件。本教程很好地描述了Pagination with AJAX
希望能帮到你
答案 1 :(得分:0)
您必须使用
为两个部分设置单独的参数名称(而不是一个page
)
<%= will_paginate @first, :param_name => 'first' %>
<%= will_paginate @second, :param_name => 'second' %>
在你的控制器上你可以写
@first= Post.paginate(page: params[:first], :per_page => 4).order('post_id DESC')
@second= Post.paginate(page: params[:second], :per_page => 4).order('post_id ASC')