【发布时间】:2015-06-20 22:52:24
【问题描述】:
我们在我们的应用程序上设置了用户搜索,到目前为止,它只是基于文本内容查询。
这就是我所拥有的:
在模型/user.rb 中
def self.search(query)
where("description ilike ?", "%#{query}%")
end
在 app/controllers/users_controller.rb 中
class UsersController < ApplicationController
before_action :authorized?
def index
@users = User.all
if params[:search]
@users = User.search(params[:search]).order("created_at DESC")
else
@users = User.all.order('created_at DESC')
end
end
在视图/index.html.erb 中
<%= form_tag(users_path, :method => "get", id: "search-form") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search Users" %>
<%= submit_tag "Search", :name => nil %>
<% end %>
我们正在使用 rails 和 postgres。地理编码器 gem 已安装。我们将当前的纬度和经度存储在单独的列中。
如何添加邻近搜索过滤器,以及在 MVC 方面我将采取哪些步骤?
位置正在像这样存储在我们的方案中
create_table "users", force: :cascade do |t|
t.float "latitude"
t.float "longitude"
【问题讨论】:
标签: ruby-on-rails ruby postgresql proximity rails-geocoder