結合でパラメータを使用して、SQLインジェクションの脆弱性を回避しようとしています。
Category.joins("LEFT OUTER JOIN incomes ON incomes.category_id = categories.id AND incomes.dept_id = ?", params[:Dept])
これは、パラメータの代わりに疑問符を使用してクエリを実行しようとします。これを行うための適切な方法は何ですか?
編集:
クエリはこれを返す必要があります:
SELECT categories.*
FROM "categories"
LEFT OUTER JOIN incomes
ON incomes.category_id = categories.id AND incomes.dept_id = 86
いいえ
SELECT categories.*
FROM "categories"
LEFT OUTER JOIN incomes
ON incomes.category_id = categories.id
WHERE incomes.dept_id = 86
非常に異なる結果!