detected」と警告を出しているのですが、どこが悪いのかわかりません。具体的に現在の状況を説明させていただきます。現在プログシステムを作っており、それにたいしてランキング機能(多く見られている記事を表示する)を実装しようと考えました。このブログにはタグ機能があります。ここで簡単に登場するモデルを説明すると、Blog、AccessConter、Tagという3つのモデルがあります。AccessCounterはBlogと1:1の関係、TagはBlogと多対多の関係にあります。私は、アクセスのカウントを事前に数えてAccessCounterに値を入れました。AccessCounterのカラムは、yesterday_countというカラムがあり、ここに昨日どれだけアクセスされたか集計させています。100回アクセスされたなら、100という数値が入っています。次に私は昨日のランキングをindexに表示するために、このようなコードを書きました。indexにはkaminariを使って、ページネーションを実装しています。pageこのようなコードを書いた意図を説明すると、まずアクセス数をはかる為に、access_counterをインクルードしています。indexにはBlogのタイトルだけではなく、そのBlogに関連づけられているTagの一覧を表示しないといけないため、あらかじめTagをインクルードしておく事で、N+1を回避しようとしています。このコードを実行すると、html.erb内でBulletが以下の様な警告を出します。:tags]改め質問なのですが、なぜこのような警告がでるのでしょうか?また私はどこを直せばいいでしょうか?ご指摘いただけると幸いです。(0)コメントに返信を書きました。更新順1似たようなモデルを作って確認してみました。:blogsendyesterday_countはy_countにしています(タイプするのが面倒だっただけです)。Loadingは出ました。外部結合ですので結合されない場合も片側は無条件で全件出力されることになります。場合によってはこれは無駄となることがあり、おそらくこれが警告を受けているんではないかと思います。consoleで作成されているSQLを確認してみると以下のような左外部結合のSQLになっています。descこのうち、access_counterは左外部結合でなくともよいので、これはjoinにして、必要な項目だけ取得するように変えてみます。Loadingの警告はでなくなりました。JOINだったことにより警告が出ていたのかなぁと思います。Listに設定するという手もあると思います。N+1の警告の方は出なかったのでわかりません。(2)丁寧なお返事ありがとうございます。恥ずかしながら、外部結合と内部結合の違いがわかっておらず、全てincludesでやっておりました。ご回答いただいた方法でうまくいきました。勉強になりました、ありがとうございました。内部結合は片方が存在しない物は結果を返さない。20:28そうですね、内部結合ですと結合できなかったものは省略されます。23:30お返事ありがとうございます。この当たりは注意して書くようにします。10:48ウォッチこの質問への回答やコメントをメールでお知らせします。