Rails will_paginate在同一页面上的两个对象不起作用

时间:2015-05-12 00:00:11

标签: ruby-on-rails will-paginate

之前我曾见过类似的问题,但我无法理解,因为评论的声誉很低,我不能在那里寻求帮助。

所以,我问了一个新问题。我正在使用will_paginate插件在同一页面上的两个对象,它们正在工作,但两者同时移动。例如,如果我单击第一页上的第2页,即使在第二页中也会更改第2页。

这是我在控制器中的代码:

    @tasks = @student.tasks.paginate(page: params[:page], :per_page => 2)
    @plans = @student.plans.paginate(page: params[:page], :per_page => 2)         

这是我在视图中的代码:

    <%= will_paginate @tasks %>
    <%= will_paginate @plans %>

我如何单独完成这项工作?

1 个答案:

答案 0 :(得分:8)

您的控制器使用相同的参数:每个型号的页面。然后,您的视图使用该参数为视图中的两个模型设置页面。您可以定义不同的参数以使用每个模型。即

@tasks = @student.tasks.paginate(page: params[:tasks_page], :per_page => 2)
@plans = @student.plans.paginate(page: params[:plans_page], :per_page => 2)         

<%= will_paginate @tasks, :param_name => 'tasks_page'%>
<%= will_paginate @plans, :param_name => 'plans_page'%>