Можно ли присоединиться к одному столу дважды?
В нашем случае мы хотим:
polymorphic.left_joins(:course, step: :course)
Проблема, когда полиморфная строка имеет тип «Шаг», в этом случае связанный ход шага не включается
Зачем вам нужно присоединиться к ней дважды?
Например, у нас есть полиморфная модель, которая принадлежит либо модели курса, либо модели шага. Шаг принадлежит - конечно. Мы должны присоединиться course
или step with course
. Это означает, что если в полиморфной строке есть тип Course
, мы присоединяемся к Course.fields, если для типа Step
нам необходимо объединить steps with course
, чтобы мы могли иметь в одной строке polymorphic.fields + steps.fields + связанный файл course.fields