3

Kaminari gem を使用してページネーションを行いながら、ポリモーフィック アソシエーションを熱心に読み込もうとしています。

@news_items = NewsItem.includes(:news_source).not_outdated
.where(:group_id => group_ids).order("created_at DESC").page(params[:page]).per(10)

エラーメッセージが表示されます:

ActiveRecord::EagerLoadPolymorphicError in Pages#dashboard

'BLAH BLAH'/dashboard.html.erb を表示すると、49 行目が発生します: ポリモーフィック アソシエーションを熱心にロードできません:news_source

Kaminari スコープ ( .page[:page]).per(10) ) を削除すると、エラーが消えます。

誰にもアイデアはありますか? この記事では、ポリモーフィック アソシエーションを使用したイーガー ロードがサポートされていることを示唆していますが、スコープとして Relation に適用される可能性のある条件/順序が他のテーブルを参照しない場合に限ります (参照する場合、Rails は LEFT OUTER JOIN メソッドを使用してポリモーフィック アソシエーションでは機能しない熱心な読み込み)。では、カミナリは別のテーブルを参照していますか?

アドバイスをいただければ幸いです。

乾杯。

4

1 に答える 1