Rails搜索方法

时间:2016-03-25 11:02:28

标签: mysql sql ruby-on-rails

我已经尝试过使用sql编写一个简单的搜索方法,到目前为止我写了这个;

User.where("username LIKE '#{input}'")

输入变量是' adam'但是我不想找到等于' adam'的用户名。我想找到包含' adam'的用户名。或包括字母' a'等......我想知道我会怎么做呢?我对sql查询不是很熟悉。

由于

2 个答案:

答案 0 :(得分:0)

您可以使用:

User.where("username LIKE '%#{input}%'") 
     OR
User.where("username like ?","%name%")

答案 1 :(得分:0)

如果您创建方法,请转到模型页面&然后遵循以下结构:

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

或仅创建如下控制器:

User.where(["username LIKE ? ", "%#{params[:username]}%"])

我认为会帮助你