У меня есть 2 модели, которые имеют геокодирование. Одной из моделей является Client.I обновляет местоположение модели клиента на основе их IP. Вот как это выглядитRails Geocoder, Найти все Model1 near Model2
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)
, но это даст мне другие клиенты поблизости, где я хочу найти отели поблизости.
Кто-то, пожалуйста, помогите. Заранее спасибо :)
Большое спасибо, очень ценю это. Я новичок в рельсах :). Это сработало как шарм – Shadid
@Shadid Я рад, что это помогло вам :) –