Skip to main content
 首页 » 编程设计

ruby-on-rails之在 ActiveAdmin sql 查询中热切加载关联模型

2025年02月15日25insus

我有一个 ActiveAdmin 索引页

ActiveAdmin.register Bill 

我正在尝试显示关联模型的链接
index do 
  column "User" do |bill| 
   link_to bill.user.name, admin_user_path(bill.user) 
  end 
end 

但是我遇到了 N+1 查询问题 - 有一个查询来获取每个用户。

有没有办法急切地加载账单的用户?

请您参考如下方法:

在另一篇文章中有一个答案,但它很好地描述了您在这里需要做的事情。

  controller do 
    def scoped_collection 
      Bill.includes(:user) 
    end 
  end 

在这里,您需要确保遵循范围。因此,如果您的 Controller 是 scope_to'ed,那么您将需要用 scope_to'ed 参数替换上面的模型名称。