0

get リクエストで指定された文字を Tails 3 の Like ステートメントに入力しようとしています。これまでのところ、次のコードがあります。

@entries = Entry.where("key LIKE '?%'", params[:letter]).order(:key)

問題は、挿入された文字の周りに引用符を追加する間違った種類の SQL クエリを作成していることです。:letter => 'a' に対して次の sql を作成します。

SELECT "entries".* FROM "entries" WHERE (key LIKE ''a'%') ORDER BY key

それ以外の:

SELECT "entries".* FROM "entries" WHERE (key LIKE 'a%') ORDER BY key

どうすればこれを修正できますか?

4

1 に答える 1

4
@entries = Entry.where("key LIKE ?", "#{params[:letter]}%").order(:key)
于 2012-10-03T22:30:10.237 に答える