1

我有一個系統,顯示我的網站上技能和(基本)技能組的培訓資源。用戶可以表達對存儲在多態表interests中的技能或技能分組的興趣。Rails多態聯繫 - 加入具有類似關係的元素

我想在用戶主頁上顯示每個技能或技能組的興趣的訓練,但在我看來,只想通過訓練(並非所有技能或技能組都有訓練)的興趣迭代。

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 %> 

interest.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錯誤

有什麼辦法可以做這種類型的連接?

回答

0

嘗試@ user.interests.includes(:interest_elements) 工程在軌道4

+0

感謝您的回答!不幸的是,我不再在這個項目上工作,無法驗證它適用於我。希望你的回答可以幫助別人! – claptimes