簡単な検索を作成する必要がありますが、Sphinx を使用する余裕はありません。
ここに私が書いたものがあります:
keywords = input.split(/\s+/)
queries = []
keywords.each do |keyword|
queries << sanitize_sql_for_conditions(
"(classifications.species LIKE '%#{keyword}%' OR
classifications.family LIKE '%#{keyword}%' OR
classifications.trivial_names LIKE '%#{keyword}%' OR
place LIKE '%#{keyword}%')")
end
options[:conditions] = queries.join(' AND ')
今、sanitize_sql_for_conditions は機能しません! 元の文字列を返すだけです。
このコードを書き直して、悪意のあるコードを回避するにはどうすればよいですか?