1

我有一个系统,可以在我的网站上显示技能和(基本上)技能组的培训资源。用户可以表达对存储在多态表中的技能或技能组的兴趣interests

我想在用户主页上显示每个技能或技能组兴趣的培训,但在我看来,只想遍历受过培训的兴趣(并非所有技能或技能组都有培训)。

两者skill.rbskill_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

0

尝试 @user.interests.includes(:interest_elements) 在 rails 4 中工作。

于 2015-11-06T06:46:21.347 回答