我正在尝试将get请求中给出的一封信输入到尾部3中的Like语句中。到目前为止,我有以下代码:
@entries = Entry.where("key LIKE '?%'", params[:letter]).order(:key)
问题是它是在创建错误的sql查询类型,在注入的字母周围添加引号。它为:letter =>创建以下sql; 'A':
SELECT "entries".* FROM "entries" WHERE (key LIKE ''a'%') ORDER BY key
而不是:
SELECT "entries".* FROM "entries" WHERE (key LIKE 'a%') ORDER BY key
我该如何解决这个问题?
答案 0 :(得分:4)
@entries = Entry.where("key LIKE ?", "#{params[:letter]}%").order(:key)