will_paginate ajax分页错误

时间:2014-04-21 12:38:19

标签: ruby-on-rails ajax will-paginate

在同一页面上,我在右侧有项目列表,而评论则在页面左侧显示。

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 

所以它会改变页面。右侧(项目列表)消失。

如何防止这种情况发生并正确呈现分页?

1 个答案:

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