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

结果按距离进行排序,所有结果都可以在这里工作!!这里唯一的问题是结果也不根据键入的关键字出现。因此,无论我键入什么关键字,所有结果都会出现并按距离进行排序。

知道我在这里可能做错了什么?

您可以尝试在near范围内传递params[:search]的内容:

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

相关内容

最新更新