0

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
4

1 に答える 1

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
于 2012-05-04T06:27:38.860 に答える