Railsアプリケーションでは、3つのモデル(投稿、ショップ::アイテムとディレクトリ::アイテム)があります。すべてのモデルは他のモデル(ユーザー、カテゴリ、市...)との関係を持っています。このすべての情報はメインページに表示する必要があります。それはアイテムのページ付けリストのように見えるはずです。私はDBのポストグルを使用しています。
私たちは、コントローラでこのようなコードを書くことができます。Railsアプリ。いくつかのモデルからアイテムを収集し、このページ番号を付けたメインページのリストを表示します
@postings = Posting.includes(:category, :subcategory, :user, :city).all
@directory_items = Directory::Item.includes(:category, :user, :city).all
@shop_items = Shop::Item.includes(:category, :user, :city, :phone).all
をし、この結果をソート。しかし、それは最善の方法ではありません。
第2の解決方法は、ActiveRecordを除くカスタムクエリを書き込むことです。しかし、このクエリは非常に大きく、サポートするのは難しいでしょう(我々はそこにたくさんの結合を持っています)
DBクエリーの量が最も少ないのは何のための最良の解決策ですか? (これはメインページなので、とても速く動作するはずです)。
私たちにいくつかのコードを教えてください。 [何を試してみましたか?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – weltschmerz
実装方法をいくつか追加しました。しかし、私はそれらのソリューションが気に入らない。だからこそ質問しています。 – jizak