Rails 4:从控制台进行简单的通配符搜索

Mel*_*emi 6 postgresql ruby-on-rails

从控制台对字段进行快速通配符搜索的最简单方法是什么?我不在乎防止SQL注入.

我正在使用PostgreSQL.

title使用包含"新兴"的字符串进行搜索

这有效,但有点麻烦.好奇如果有速记?

Product.where("title @@ :q", q: "emerging")
Run Code Online (Sandbox Code Playgroud)

同样繁琐但在Rails 4中似乎不再对我有用:

Product.where("title ILIKE ?", "emerging")
Product.where("title ilike :q", q: "emerging")
Run Code Online (Sandbox Code Playgroud)

我想我正在寻找类似的东西 Product.where(title: "*emerging*")

MrY*_*iji 12

这应该这样做:

word = 'emerging'
Product.where('title ILIKE ?', "%#{word}%")
Run Code Online (Sandbox Code Playgroud)
  • ILIKE使搜索对案件不敏感
  • "%"通配符使得搜索匹配每个产品在其之前和/或之后具有包含"字"的标题内容(或不包含).