Rails will_paginate 对同一页面上的两个对象不起作用
Rails will_paginate on two objects on the same page does not work
之前看到过类似的问题,但是看不懂,也不能求助,信誉度低,无法评论。
所以,我要问一个新问题。我正在为同一页面上的两个对象使用 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 %>
我怎样才能让这个单独工作?
您的控制器对每个模型使用相同的参数 :page。然后您的视图使用该参数为视图中的两个模型设置页面。您可以定义不同的参数以用于每个模型。即
@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'%>
之前看到过类似的问题,但是看不懂,也不能求助,信誉度低,无法评论。
所以,我要问一个新问题。我正在为同一页面上的两个对象使用 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 %>
我怎样才能让这个单独工作?
您的控制器对每个模型使用相同的参数 :page。然后您的视图使用该参数为视图中的两个模型设置页面。您可以定义不同的参数以用于每个模型。即
@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'%>