2013-10-25 80 views
5

從控制檯對字段進行快速通配符搜索最簡單的方法是什麼?我不在乎防止SQL注入。Rails 4:從控制檯進行簡單的通配符搜索

我正在使用PostgreSQL

中含「字符串搜索title新興」

這工作,但在某種程度上有些累贅。好奇,如果有一個速記?

Product.where("title @@ :q", q: "emerging") 

同樣繁瑣,但不會再出現,我在Rails的工作4:

Product.where("title ILIKE ?", "emerging") 
Product.where("title ilike :q", q: "emerging") 

我想我正在尋找像Product.where(title: "*emerging*")

回答

11

這應做到:

word = 'emerging' 
Product.where('title ILIKE ?', "%#{word}%") 
  • 的ILIKE使搜索到的情況下
  • 的「%」通配符使得有標題的每一件產品搜索匹配不敏感,方含「字」裏有(或不)之前和/或之後的東西。
+0

我一直在尋找一個解決方案,並時採取了增加一個「我」的「喜歡」。甚至沒有活躍的記錄文檔也沒有ilks .... sheesh。 – nerdgasms

+0

@nerdgasms「like」或「ilike」函數與「ActiveRecord」無關,而與您正在使用的數據庫系統無關。 – MrYoshiji

3

使用LIKE,像這樣:

Product.where('title LIKE ?', '%emerging%')