質問: EventChild.with_parent_events.with_categories ``` ### View関連 Slimまずはすべてのイベントを表示し、つぎはカテゴリ毎にdivで囲んで出力するよう下記のようにしている。 ``` # すべてのイベントを表示 div - @events.each do |event| | #{event.title} # イベント毎に表示 - @categories.each |category| div - @events.each do |event| - if event.categories.ids.include?(category.id) | #{event.title} ``` ### 結果 上記のif文でN+1が発生しているようでしたが、Bulletでも検出できず悩んでおりました。 また ``` ChildEvent.includes(events: :categories).references(:events,:categories) ``` などのscopeでも試しましたが同じ結果でした。 なにかアドバイスをいただければ幸いです。
回答: 根本的な解決ではないのですが、viewを変更することでいけました。 ``` # すべてのイベントを表示 div - @events.each do |event| | #{event.title} # イベント毎に表示 - @categories.each |category| div - @events.each do |event| - event.categories.each do |c| - if c.id == category.id | #{event.title} ``` 解決済みとさせていただきますが、より良い書き方がございましたら、ぜひコメントを残してくださると嬉しいです。