我正在實現一個簡單的搜索函數,該函數應該檢查用戶名,姓氏和名字中的字符串。我已經看到了這個ActiveRecord的方法在一箇舊RailsCast:Rails ActiveRecord - 在多個屬性上搜索
http://railscasts.com/episodes/37-simple-search-form
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
但我怎麼讓這個它搜索的名字,姓氏和名字的關鍵字,並返回如果記錄其中一個字段與該術語相匹配?
我也想知道RailsCast上的代碼是否容易出現SQL注入?
非常感謝!
正是我需要的。感謝您解釋清楚! – maru 2012-08-05 14:00:45
如果控制器更改爲傳遞整個'params'而不是'params [:search]',並且在我們的查詢中我們使用'「%#{params [:search]}%」'而不是'「%## {}搜索%「'。這仍然不受SQL注入的影響嗎? – Dennis 2014-02-04 19:24:06
@丹尼斯是的。只要你使用?並傳遞額外的參數在查詢中替換它們,你很好。 – 2014-02-06 05:40:53