我能够在Rails 2.3中进行LIKE查询的唯一方法如下:
access_points.all(:conditions => "mac_address LIKE '%#{@q}%'")
Run Code Online (Sandbox Code Playgroud)
官方文档说这样做是不安全的,因为受SQL注入:
将自己的条件构建为纯字符串可能会使您容易受到SQL注入攻击.例如,Client.first(:conditions =>"name LIKE'%#{params [:name]}%'")不安全.有关使用数组处理条件的首选方法,请参阅下一节. http://guides.rubyonrails.org/v2.3.8/active_record_querying.html
但不幸的是,它没有解释如何正确地进行LIKE查询,而且我无法在谷歌上找到它,因为LIKE是如此通用的关键字.
任何提示?我是Rails的新手,但我有Symfony和Django的经验.
这就是你想要的方式:
:conditions => ['mac_address LIKE ?', "%#{@q}%"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3217 次 |
| 最近记录: |