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