1

スキルおよび (基本的に) スキルのグループのトレーニング リソースをサイトに表示するシステムがあります。ユーザーは、ポリモーフィック テーブルに格納されているスキルまたはスキル グループのいずれかに関心を示すことができますinterests

ユーザーのホームページに各スキルまたはスキル グループの関心ごとにトレーニングを表示したいと考えていますが、私の見解では、トレーニングのある関心についてのみ反復したいと考えています (すべてのスキルまたはスキル グループにトレーニングがあるわけではありません)。

skill.rbとモデルの両方skill_group.rbが、トレーニング リソースの関係を定義します。

_interests.html.erb

# Currently iterate through all interests
<% @user.interests.each do |interest| %> 
  <% interest_element = interest.interest_element %>
  <% if interest_element.training_resources.size > 0 %>
    # More rendering code here...
  <% end %>

<% end %>

興味.rb

class Interest < ActiveRecord::Base
  belongs_to :user
  belongs_to :interest_element, :polymorphic => true
end

理想的には、次のような限られた一連の興味を反復処理したいと思います。

@user.interests.joins(:interest_element => :training_resources).each do |interest|

しかし、私はCan not eagerly load the polymorphic association :interest_elementエラーが発生します

このタイプの結合を行う方法はありますか?

4

1 に答える 1