지오 코딩 된 2 개의 모델이 있습니다. 모델 중 하나는 클라이언트입니다. IP 기반 클라이언트 모델의 위치를 업데이트합니다. 그것은 여기레일 지오 코더, Model2 근처의 모든 Model1 찾기
class Client < ApplicationRecord
geocoded_by :ip_address
after_validation :geocode, :if => :ip_address_changed?
end
보이는 당신은 내가 클라이언트의 현재 IP를 업데이트 볼 수 있듯이 이제 내 고객 컨트롤러
class ClientController < ApplicationController
def index
if client_signed_in?
u = current_client
u.ip_address = request.remote_ip
u.save
end
end
end
그리고 그 기반으로 내가 :longitude
에서 클라이언트의 위치를 저장하고 :latitude
이
이제 호텔이라는 다른 모델이 있습니다. 이 모델에는 변경되지 않는 주소 속성이 있습니다.
class Hotel < ApplicationRecord
geocoded_by :address
after_validation :geocode, :if => :address_changed?
end
이제 클라이언트의 20km 반경에 가까운 호텔을 찾을 수있는 방법이 필요합니다. 나는 @client.nearbys(20)
를 시험해 보았습니다.하지만 그 호텔 근처에서 다른 고객이 근처에있는 곳을 원할 것입니다.
누군가 도와주세요. 미리 감사드립니다 :)
감사합니다. 정말로 감사드립니다. 나는 레일 초보자입니다 :). 그 매력처럼 작동 – Shadid
@ Shadid 나는 그것이 당신을 도왔다 :) –