我已经能够做到在Rails的2.3 LIKE查询的唯一方法是:Ruby on Rails的2.3 SQL LIKE查询
access_points.all(:conditions => "mac_address LIKE '%#{@q}%'")
官方文件说,这样做的这种方式是不安全的,因为主题到SQL注入:
将自己的条件构建为纯字符串会使您容易受到SQL注入漏洞的攻击。例如,Client.first(:conditions =>“name LIKE'%#{params [:name]}%'”)是不安全的。请参阅下一节以获取使用数组处理条件的首选方法。 http://guides.rubyonrails.org/v2.3.8/active_record_querying.html
不过遗憾的是它没有解释如何正确地做一个LIKE查询,我一直没能找到它在谷歌,因为像这样一个宽泛的关键字。
任何提示?我是Rails新手,但我有Symfony和Django的经验。
使用'?'语法,并把状态在数组中。搜索“rails 3 like query”会返回几个命中,包括[this SO question](http://stackoverflow.com/questions/4430578/how-to-do-a-like-query-in-arel-and-rails -3)的确如此。 –