0

我正在尝试将 get 请求给出的一封信输入到尾部 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 回答