之前我曾见过类似的问题,但我无法理解,因为评论的声誉很低,我不能在那里寻求帮助。
所以,我问了一个新问题。我正在使用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 %>
我如何单独完成这项工作?
答案 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'%>