나는 제안 (Offers) 모델을 가지고 있으며 사용자로부터 IP 주소를 얻고 위도와 경도로 좌표를 지오 코딩하려고합니다. 보석 설명서는 IP 주소가 알려진 경우 코드가되어야 함을 나타냅니다 :Ruby Geocoder gem in Rails에서의 문제
모델 : 나는 IP 주소가없는 그러나
geocoded_by :ip_address, :latitude => :latitude, :longitude => :longitude
처음에 저장 그래서이 그것을 변경 :
if :current_location
self.ip_address = request.ip
geocoded_by :ip_address, :latitude => :latitude, :longitude => :longitude
end
request.ip
은 ActionView에서 가져온 메소드이므로 Model에서 호출 할 수는 없다고 생각합니다. 필자는 이것을 도우미 메서드로 테스트했으며 로컬 : 호스트 주소를 반환합니다. 그러나이 형식으로 저장하려고하면 모델에 아무 것도 저장하지 않습니다.
ip_address를 모델에 저장하여이 형식으로 사용할 수있는 가장 좋은 방법은 무엇입니까? 도우미 메서드로 추출해야합니까? 모델에 맞는 모듈이 include
또는 require
일까요?
는 참고로 보석 가이드는 여기에 있습니다 : http://www.rubygeocoder.com
감사 모든 도움이, 감사합니다.
고맙지 만 지금은 지오 코딩 기능 외에도 조금 복잡해 졌으므로이 단계에서 모델을 다시 작성하기를 꺼립니다. 사용자의 IP 주소를 얻고 사용했던 모델에 저장하는 다른 방법이나 쉬운 방법이 있습니까? Geokit 레일을 사용해보고 더 잘 작동하는지 살펴 보겠습니다. – user2514224