1

필자는 내 기술에 대한 교육 리소스와 내 기술에 대한 (기본적으로) 기술 그룹을 표시하는 시스템을 가지고 있습니다. 사용자는 다형성 테이블 interests에 저장된 스킬 또는 스킬 그룹에 관심을 나타낼 수 있습니다.Rails Polymorphic Association - 비슷한 관계의 요소 결합

사용자 홈 페이지의 각 스킬이나 스킬 그룹 관심도에 대한 교육을 표시하고 싶지만 제 견해로는 모든 스킬이나 기술 그룹에 교육이있는 것은 아닙니다.

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

이상적으로

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

interest.rb,이 같은 뭔가 이익 제한된 반복 싶습니다

@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