Rails用户搜索和过滤器

时间:2013-06-13 19:49:07

标签: ruby-on-rails

我查看了sphinx并观看了railscast教程,但我不需要全文搜索。我希望能够允许人们通过姓名或电子邮件搜索用户。在有人通过姓名或电子邮件搜索用户后,他们可以通过添加用户的城市来进一步过滤它。

我并不认为全文搜索是必要的。但是我从来没有在rails中进行过任何搜索,我不知道如何在没有gem的情况下进行搜索。

我知道它有点像User.where(:name =>),基于我的谷歌搜索或类似的东西,但我不确定它是如何完成的,或者这是否有利于性能。

我如何实现我想要做的事情,并且必须进行全文搜索?

1 个答案:

答案 0 :(得分:4)

两栏WHERE

User.where("name like ? or email like ?", "%steve%", "%gmail%")

城市范围:

User.where("name like ? or email like ?", "%steve%", "%gmail%").where("city like ?", "%vegas%")

请注意,不区分大小写的LIKE语法因数据库而异。我使用Postgres,所以我为ILIKE加入了不敏感的喜欢。