Ruby on rails N+;1在rails与活动记录的关系中?

Ruby on rails N+;1在rails与活动记录的关系中?,ruby-on-rails,activerecord,select-n-plus-1,Ruby On Rails,Activerecord,Select N Plus 1,我有四种型号 团体 报告 评论 使用者 组=>有许多=>报告 报告=>有许多=>评论 注释=>属于=>用户 当我想向一群人展示我的作品时 <%= @group.name %> <%= @group.reports.includes(:comments).each do |report| %> <%= report.name %> <% report.comments.each do |comment| %>

我有四种型号

  • 团体
  • 报告
  • 评论
  • 使用者
  • 组=>有许多=>报告

    报告=>有许多=>评论

    注释=>属于=>用户

    当我想向一群人展示我的作品时

     <%= @group.name %>
     <%= @group.reports.includes(:comments).each do |report| %>
          <%= report.name %>
          <% report.comments.each do |comment| %>
               <%= comment.name %>
               <%= comment.user.name %>
          <% end %>
     <% end %>
    
    
    
    在这种情况下,解决N+1查询问题的最佳方法是什么??

    也许

    @group.reports.includes(:comments => :user).each do |report|
    
    或许

    @group.reports.includes(:comments => :user).each do |report|
    

    使用新语法:@group.reports.includes(comments::user)。每个do | report |使用新语法:@group.reports.includes(comments::user)。每个do | report|