私はこの RoR の世界は初めてです。
RoR アプリケーションには、次のような SELECT SQL クエリが多数あります。
@replies = Offerreply.find_by_sql ("SELECT * FROM offerreplies WHERE
offer_id="+params [:offer_id])
上記のように非常に単純なものもあれば、非常に複雑な JOINS のものもあります。それらのほとんどは、 SQL インジェクションの 問題に苦しんでいます。では、RoR でそのような SQL ステートメントをサニタイズする方法は?
編集: JOINS とサブクエリを持つ SQL ステートメントで同じ処理を行う方法は? このようなもの
@to_be_approved=Beneficiary.find_by_sql("SELECT * FROM beneficiaries WHERE project_id="+params[:id]+" AND NOT id IN (SELECT beneficiaries.id FROM beneficiaries INNER JOIN beneficiaryloans ON beneficiaryloans.beneficiary_id=beneficiaries.id AND beneficiaryloans.hfi_id="+session[:id].to_s+" AND beneficiaries.status_id=4) AND cso_id IN(SELECT user_id FROM user_projects INNER JOIN users ON user_projects.user_id=users.id AND users.user_type_id=2)")