1

У меня есть система, которая отображает учебные ресурсы для навыков и (в основном) групп навыков на моем сайте. Пользователь может выразить интерес либо к умению, либо к группе навыков, которая хранится в полиморфной таблице interests.Rails Полиморфная ассоциация - объединяйте элементы с похожими отношениями

Я хотел бы показать обучение для каждого класса навыков или группы навыков на домашней странице пользователя, но, на мой взгляд, хочу только итерации через интересы, которые имеют подготовку (не все навыки или группы навыков имеют обучение).

Как 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 %> 

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

Try @ user.interests.includes (: interest_elements) Работы по рельсам 4.

+0

Спасибо за ответ! К сожалению, я больше не работаю над этим проектом и не могу проверить, работает ли он для меня. Надеюсь, ваш ответ поможет кому-то еще! – claptimes

Смежные вопросы