通过用户名或带有一个字段的电子邮件查找用户

Ben*_*Ben 2 regex ruby-on-rails

所以我有一个User包含用户名和电子邮件列的模型。我希望为此数据库创建一个搜索功能,以便一个用户可以通过输入另一个用户的用户名或电子邮件地址来查找另一个用户。我想让搜索成为一个字段,这样您就可以输入其中之一,然后只需单击搜索提交按钮。

不幸的是,我不知道如何做到这一点。我想搜索功能中会涉及一个正则表达式,它看起来像这样,但有另一个if语句:

用户模型

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

任何想法将不胜感激。谢谢!

Fel*_*zik 6

User.where('name LIKE :query OR email LIKE :query', query: "%#{search}%")
Run Code Online (Sandbox Code Playgroud)