2017-09-23 113 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

我真的不知道'附近'是什麼,你在使用一些你沒有提到的寶石嗎? –