У меня есть некоторые SQL, который работает, когда я хочу посмотреть на конкретные страницы, которые имеют конкретные схемы, возложенных на него (все через scheme_assignment):Можете ли вы присоединиться к другой таблице, которая не является ассоциацией в AREL?
Page.find_by_sql("
SELECT pages.id
FROM pages
INNER JOIN scheme_assignments ON (scheme_assignments.schemable_type = 'Page' AND
scheme_assignments.schemable_id = pages.sid)
INNER JOIN schemes ON (schemes.sid = scheme_assignments.scheme_id AND
schemes.sid IN (4,6,7))
GROUP BY pages.id")
Когда я попытался преобразовать это AREL:
Page.select("pages.id")
.joins("scheme_assignments")
.on("scheme_assignments.schemable_type = 'Page' AND scheme_assignments.schemable_id = pages.sid")
.joins("schemes")
.on("schemes.sid = scheme_assignments.scheme_id AND schemes.sid IN (1)")
.group("pages.id")
Я получаю эту ошибку: NoMethodError: undefined method
join_sql»для "схем": String`
Каким образом? Это потому, что это не ассоциация в моей модели Page
? Можно ли перевести этот SQL в ARel без создания ассоциаций в модели?