概要
Ruby on Railsでwebアプリを作成しています。その中で、N+1問題が発生してしまい、eager_loadを試してみましたが、解決できません。
解決策について、ご教示いただければありがたいです。
コード
companies_controller.rb
companies = Company.with_include_users users = User.with_include_company companies.each do |company| ActiveRecord::Base.transaction do target_user = users.where(id: company.id) pp target_user end end
Company.rb
has_many :users scope :with_include_users, -> { eager_load(:users) }
User.rb
belongs_to :company scope :with_include_company, -> { joins(:company).eager_load(:company) }
詳細
上記のとおり、モデルでeager_loadして、外部結合しています。
この場合、N+1問題が解消できる認識でしたが、実際には、解消されておりません。
解決策について、ご教示いただければありがたいです。
環境
rails 6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。