2017-09-23 8 views
-1

によって、私は私のアプリの検索フォームがあります。Railsの5:キーワードによる検索やソート距離

<%= form_for search_path, method: :get do |f| %> 
    <p> 
     <%= f.label "Search for" %> 
     <%= text_field_tag :search, params[:search] %> 
     <%= submit_tag "search", name: nil %> 
    </p> 
<% end %> 

距離で検索:

def search 
    if params[:search].present? 
     @las = La.near(action,10).reorder('distance') 
    else 
     @las = [] 
    end 
    end 

結果は、距離とすべての作品によって並べ替えられていますここまで!ここでの唯一の問題は、入力したキーワードに応じて結果が表示されないことです。したがって、どのキーワードを入力しても、すべての結果が距離別に表示され並べ替えられます。

私がここで間違っているかもしれない何か考えてみませんか?

答えて

1

あなたはnear範囲内params[:search]の内容を渡してみてください:

@items = Item.near(params[:search], 10).reorder('distance') 
+0

私はこれで動作するようになった: '@items = Item.search(のparams [:検索])。、アクション(そば10).reorder( 'distance') 'しかし、私はまだ完全なキーワードがタイプされたので結果を見つけたい!どのように私はそれを行うことができます任意のアイデア? – Dev

+1

私は本当に「近くに」何かを知らないのですが、言及していない宝石を使っていますか? –

関連する問題