分页包含变量

Paginate an include variable

我正在构建一个包含群组 > 帖子 > 评论的应用 为了减少 SQL 请求的数量,我使用了 includes 方法

# group controller
def show
  @posts = @group.posts.includes(:comments)
end

现在,我想对评论进行分页。但是我不知道如何使用 gem will_paginate

中的函数 .paginate

你对此有什么建议吗?

控制器内部的分页问题

由于您想要与个人 post 关联的分页评论,因此在控制器中实现起来很复杂,因为您需要创建 N 个分页评论对象(假设您有 N posts)。

你能做什么

1.load posts 像往常一样包含评论以减少多余的查询。但是不要运行在这里分页

2.achieve 仅在视图内分页

<%= @posts.each do | post | %>
<% comments = post.comments.paginate(page: params[:page]) %>

..
...
...
<%= will_paginate comments%>
<% end %>