【发布时间】:2016-12-16 08:19:21
【问题描述】:
我有 2 个经过地理编码的模型。模型之一是客户端。我根据其 IP 更新客户端模型的位置。这是它的外观
class Client < ApplicationRecord
geocoded_by :ip_address
after_validation :geocode, :if => :ip_address_changed?
end
这是我的客户端控制器
class ClientController < ApplicationController
def index
if client_signed_in?
u = current_client
u.ip_address = request.remote_ip
u.save
end
end
end
现在如您所见,我更新了客户端的当前 ip,并基于此将客户端的位置保存在 :longitude 和 :latitude 属性中
现在我有另一个模型,名为 Hotels。这个模型有一个不会改变的地址属性。
class Hotel < ApplicationRecord
geocoded_by :address
after_validation :geocode, :if => :address_changed?
end
现在我需要一种方法,以便我可以找到客户方圆 20 公里附近的酒店。我试过@client.nearbys(20) 但这会给我附近的其他客户,我想在附近有酒店。
请有人帮忙。在此先感谢:)
【问题讨论】:
标签: ruby-on-rails geolocation geocoding rails-geocoder