输入轨道的验证

时间:2012-05-04 05:57:21

标签: ruby-on-rails

我为Rails应用程序创建了一个简单的搜索输入表单,但我注意到当我不输入任何内容时它会返回所有用户的结果,但我不希望它在没有值时放置

我的表格

<h6>Search for Friends</h6>
  <form action ="users/search" method="post">
    <input name = "key" type="input" />
    <input value="Search" type="submit"/>
  </form>

控制器方法

def search
  @users = User.find(:all,:order => 'username', :conditions => ["username LIKE ?", "%#{params[:key]}%"])
end

1 个答案:

答案 0 :(得分:1)

尝试新的Arel写入或检查密钥是否已分配。

def search 
  @users = User.where(["username LIKE ?", "%#{params[:key]}%"]).order('username')
end

def search 
  if params[:key].blank?
    @users = []
  else
    @users = User.where(["username LIKE ?", "%#{params[:key]}%"]).order('username')
  end
end