У меня есть приложение Rails, которое я обновляю с ruby 2.1.5 и Rails 4.0.x до Ruby 2.2.8 и Rails 4.2.7. После обновления я обнаружил, что следующий запрос больше не работает:
@courses = Course.where(active: true).joins(:course_classes).where(:course_classes => { active: true, class_type: "live"}).includes(:live_class_dates).where('live_class_dates.start_date >= ?', Date.today)
Похоже, что проблема заключается в методе "include". Я пытался заменить include на объединения, но похоже, что это игнорирует или неправильно интерпретирует последнее предложение where.
Во-первых, это проблема Ruby или Rails? И во-вторых, какие-либо предложения по запросу, чтобы заменить этот?
Заранее спасибо.
ОБНОВЛЕНИЕ: Вот полная ошибка, которую я получаю:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "live_class_dates"
LINE 1: ... = $2 AND "course_classes"."class_type" = $3 AND (live_class...
^
: SELECT "courses".* FROM "courses" INNER JOIN "course_classes" ON "course_classes"."course_id" = "courses"."id" WHERE "courses"."active" = $1 AND "course_classes"."active" = $2 AND "course_classes"."class_type" = $3 AND (live_class_dates.start_date >= '2018-06-25') ORDER BY "courses"."title" ASC