我的应用程序上有一个搜索表格:
<%= 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
结果按距离进行排序,所有结果都可以在这里工作!!这里唯一的问题是结果也不根据键入的关键字出现。因此,无论我键入什么关键字,所有结果都会出现并按距离进行排序。
知道我在这里可能做错了什么?
您可以尝试在near
范围内传递params[:search]
的内容:
@items = Item.near(params[:search], 10).reorder('distance')