我已經能夠做到在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)的確如此。 –