Rails 5:按关键字搜索并按距离排序

时间:2017-09-23 09:11:25

标签: ruby-on-rails ruby ruby-on-rails-4

我的应用上有一个搜索表单:

<%= 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 个答案:

答案 0 :(得分:1)

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

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