質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

2212閲覧

N+1問題が解決しない

sasa819

総合スコア7

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/04/10 13:08

N+1問題の解決方法がわからず悩んでいます。

bulletを導入し、N+1問題を監視するようにしたのですが、
以下の警告が出て、その警告をどの部分に反映したらいいのかがわかりません。

ruby

1USE eager loading detected 2Spree::Product => [:master] 3Add to your finder: :includes => [:master]
コントローラーのコード def show    @taxon = Spree::Taxon.find(params[:taxon_id]) @taxonomies = Spree::Taxonomy.includes(:root) @products =  Spree::Product.includes(:taxons).where(spree_taxons: {id: @taxon}) end

どの部分にincludes(:master)を反映させればいいのでしょうか。。

どなたかご教示願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ログ部分に下記の出力があるので、

Spree::Product => [:master]

下記のようにすると直るのではないかと思うのですかどうでしょうか?

@products =  Spree::Product.includes([:taxons, :master]).where(spree_taxons: {id: @taxon})

投稿2019/04/10 22:22

devneko64bit

総合スコア164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問