首页 > 解决方案 > rabl N+1 期

问题描述

我在 Rails 4 中有以下调用

@obj = A.includes(B: { C: D}).find_by_uuid(params[:id])

查看 SQL 时效果很好。问题是下面的 RABL 模板再次创建了多个 D 数据库查询。我正在使用 0.14.0。这是我简化的 Rabl 的结构。

显示.rabl

object @obj
extends "documents/base"

base.rabl

child :B => :asb do |ab|
    object ab
    extends "shared/asb"
end

asb.rabl

child(:C => :csb) do
    attributes :id 
    child(:D => :dsb) do
         attributes :x, :y <<----------- multiple database calls
    end
  end

标签: ruby-on-railsrubyruby-on-rails-4rabl

解决方案


推荐阅读