我有一个系统,可以在我的网站上显示技能和(基本上)技能组的培训资源。用户可以表达对存储在多态表中的技能或技能组的兴趣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
错误
有什么方法可以进行这种类型的加入吗?