私はクエリを実行しています:
@results = RubyGem.where(
'name LIKE ?', "%#{searchphrase}%"
).paginate(
:page => params[:page],
:per_page => 50,
:group => "name",
:order => [
"CASE WHEN name like '#{searchphrase}%' THEN 0
WHEN name like '% %#{searchphrase}% %' THEN 1
WHEN name like '%#{searchphrase}' THEN 2
ELSE 3 END, name"
]
)
しかし、これはインジェクションに対して脆弱であると確信しています...機能を同じに保ちながら、そうでないように誰かがこれを修正できますか? Ruby on Rails と MySQL を使用しています。