我正在尝试运行此查询:
Result.where('link = #{site}').present?
其中site
是一个字符串。但是上面代码的问题在于,由于单引号,site
将不会被插值。
如果我尝试
Result.where("link = #{site}").present?
我收到语法错误。
我怎么写这个?
答案 0 :(得分:0)
第二天你会被黑客入侵。它有严重的SQL injection问题。
你需要做的是:
Result.where(:link => site)
或者如果您需要除了相等之外的其他内容,那么这种语法更好:
Result.where('link <> ?', site)
您可以阅读更多here。
答案 1 :(得分:-1)
如果我的记忆服务,我认为你可以加倍报价:
Result.where('"link = #{site}"').present?