按用户名查找用户或使用一个字段发送电子邮件

时间:2014-11-08 21:38:01

标签: ruby-on-rails regex

所以我有一个User模型,同时包含用户名和电子邮件列。我正在寻找为此数据库创建搜索功能,以便一个用户可以通过输入其他用户的用户名或电子邮件地址来查找另一个用户。我想让搜索成为一个字段,以便您可以输入并只需单击搜索提交按钮。

不幸的是我不知道该怎么做。我想象一个正则表达式将涉及搜索功能,它看起来像这样,但使用另一个if语句:

用户模型

def self.search(search)
  if search
    where('username LIKE ?', "%#{search}%")
  else
    scoped
  end
end

任何想法都会非常感激。谢谢!

2 个答案:

答案 0 :(得分:4)

User.where('name LIKE :query OR email LIKE :query', query: "%#{search}%")

答案 1 :(得分:0)

User.where("email like ? or user_name like ?", "%#{search}%","%#{search}%")