モデルのカスタムwhere句を作成していますが、それがSQLインジェクション攻撃に対する安全な方法であるかどうかを知りたいと思いました。これが私の方法です:
def self.search(search)
if search
conditions = []
conditions << [ 'name like ?', search[:name] ] unless search[:name].blank?
conditions << [ 'product_type_id = ?', search[:product_type_id] ] unless search[:product_type_id].blank?
conditions = ( conditions.empty? ? nil : [conditions.transpose.first.join(' and '), *conditions.transpose.last] )
where(conditions)
else
scoped
end
end
どう思いますか?前もって感謝します!