在同一页面上,我在右侧有项目列表,而评论则在页面左侧显示。
Will_paginate每页限制10条评论
控制器:
def index
@projects = Project.paginate(page: params[:page], per_page: 10)
@comments = Comment.paginate(page: params[:page], per_page: 10)
end
查看:
%table.table
%tbody
- @comments.each do |comment|
%tr
%td.feeds
%li #{comment.content}
%span.proj_title #{link_to comment.project.title, comment.project}
%br
%span.timestamp Posted at #{comment.created_at}.
= will_paginate @comments
当Comments.count> 10,我在分页器上触发第二页,从
请求更改http://0.0.0.0:3000/projects?page=1
到
http://0.0.0.0:3000/projects?page=2
所以它会改变页面。右侧(项目列表)消失。
如何防止这种情况发生并正确呈现分页?
答案 0 :(得分:2)
在您的实施中,params[:page]
适用于两个分页。
您必须为任一列表提供自定义分页参数,因此每个参数都有自己的参数。
所以,例如:
在您看来,您将有两个分页:
= will_paginate @comments
和
= will_paginate @projects, :param_name => "pr_page"
所以,在你的控制器中:
def index
@projects = Project.paginate(page: params[:pr_page], per_page: 10)
@comments = Comment.paginate(page: params[:page], per_page: 10)
end