Ruby on Rails部分分页问题

时间:2016-01-19 10:05:22

标签: ruby-on-rails ruby pagination

如何在一个页面中使用两个分页并使它们单独工作?例如,请参见下图:

enter image description here

在图像的顶部有两个分页:左边第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

2 个答案:

答案 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')

您可以看到will_paginate documentation