【问题标题】:N+1 in rails relations with active records?N+1 在与活动记录的关系中?
【发布时间】:2012-11-28 04:51:07
【问题描述】:

我有四个模型

  1. 报告
  2. 评论
  3. 用户

组 => has_many => 报告

报告 => has_many => 评论

评论 => Belongs_to => 用户

当我想展示一个小组时,我会做类似的事情

 <%= @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 Query 问题的最佳方法是什么??

【问题讨论】:

    标签: ruby-on-rails activerecord select-n-plus-1


    【解决方案1】:

    也许

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

    【讨论】:

    • 使用新语法:@group.reports.includes(cmets: :user).each do |report|
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多