2011-02-09 4 views
3

위치 기반 앱을 개발 중이고 레일의 IP 주소에서 사용자의 위치를 ​​저장하고 싶습니다. 현재 geokit을 사용하고 있는데 사용자의 IP 주소를 통해 위치를 가져올 수 있지만이 정보를 저장하는 가장 좋은 방법은 데이터베이스에 저장하지 않고 궁금합니다 (처음/등록되지 않은 사용자는 등록/로그인되지 않은 위치 기능).레일을 사용하여 IP로부터 세션 Geolocation 결과를 저장하는 가장 좋은 방법은 무엇입니까?

내가 제공 할 수있는 가장 좋은 예는 Groupon 또는 LivingSocial이 자신이 처음으로 앱을 방문한 곳을 "알"수있는 방법입니다. 그들은 IP를 통해 귀하의 위치를 ​​얻고 세션에 저장할 것입니다. 이것이 최선의 방법입니까? 그렇다면 레일즈/geokit을 사용하여 어떻게해야합니까?

자세한 정보가 필요하면 알려주세요. 감사!

답변

2

사용자 세션으로 밀어 넣을 수없는 이유가 있습니까? 등록이없는 경우이를 참조 할 수 있습니까? 또한 실제 IP를 위치와 연관시키는 캐싱 테이블을 생성하고이를 참조 할 수도 있습니다.

+0

내가 할 수있을 것 같아. 그러나 세션과 레일에 익숙하지 않습니다. 이 작업을 수행하는 가장 좋은 방법에 대한 팁 (세션 [: city] = geo.city?과 같이 간단합니다). 또한 앱의 모든 페이지를 방문 할 수있는 사용자에게이 세션을 저장하는 가장 좋은 방법은 무엇입니까? – Slythic

+0

세션은 텍스트 나 숫자의 단순한 비트를 저장하는 데는 효과적이지만 전체 모델을 직렬화하는 것은 그리 좋지 않습니다. 이러한 형식으로 지리 정보를 보관하면 괜찮을 것입니다. 예를 들면 :'session [: loc] = "# {lat}, # {long}"' – tadman