0
私はPRODUCTという列のテーブル請求書を持っています。私は、n + 1つのクエリを避けるために、セットアップに私のコントローラをしようとしていますrailsには2つのレベルの関連付けが複数含まれています
invoice.product.CATEGORY
inventory.product.SUPPLIER
:Productsテーブルは、私の見解で
が、私は表示する必要がある...などなどカテゴリ、仕入先などの他のテーブルに属しています。
だから私はなかった:
@invoices = Invoice.all.includes(product => category, product => supplier)
私は弾丸の宝石がインストールされている、それはクエリがProduct => [category]
とAdd to your finder::includes => [:category]
を検出したが/ SA N + 1それは含まれての唯一の最新を考慮思われることを示すと、他の人は無視してください。私は私の構文が間違っていると思います。
どうすれば修正できますか?
こんにちは感謝!最後の解決策の中で私は 'scan(/ \ d /)'が何であり、何をしているのか本当に分かりません。そしてもしそれほど気にしなければ、なぜ2番目の解決策の単純な範囲よりも優れているのでしょうか? – Catmal
それは本当に必要ではない、私はそれを取る必要があります。限界が実際の数であることを確認するだけです。 '.'Scan'メソッドは正規表現のマッチ(' \ d'は数字) '['1'、 '2'、 '3']'の配列を返し、それらを '['123']'に戻します。 – Eric
私は私に100%明確な2番目のソリューションを使用すると思います。将来的にデバッグするために問題が発生した場合に備えて、それは優れています。再度、感謝します! – Catmal