Разочарованный ActiveRecord, который производит неэффективные или ошибочные запросы DELETE, я ищу возможность выполнять прямой SQL-запрос безопасным образом, без возможности SQL-инъекции.Вопросительные знаки в прямом SQL-запросе
Я знаю, что есть безопасный вариант ИНЕК:
MyObject.joins(:details)
.where('my_objects.my_value = ? and details.my_id = ?',
params[:value], params[:id])
Существует ли безопасный вариант execute
? Что-то вроде:
execute(<<eos
DELETE FROM my_objects
USING details
WHERE
my_objects.details_id = details.id
AND my_objects.my_value = ?
AND details.my_id = ?
eos
, params[:value], params[:id])