Мне нужно выразить следующее условие соединения с помощью ActiveRecord:
SELECT ...
FROM U
LEFT OUTER JOIN F ON U.key = F.foreign_key
AND F.key = ?
WHERE ...
где? заменяется во время выполнения.
Следующее вызывает ошибку синтаксиса SQL:
joins("LEFT OUTER JOIN F on U.key = F.foreign_key AND F.key=?", key)
Я не могу определить, поддерживает ли ActiveRecord эту «динамическую замену» (как бы это ни называлось).
Добавление ограничения (где ("F.key =?", Ключ)) в предложении WHERE приведет к сворачиванию ВНЕШНЕГО СОЕДИНЕНИЯ в СОЕДИНЕНИЕ.