레일즈 3 앱 (3.0.3)에서 Alex Reisner's geocoder gem으로 작업하고 있습니다. 지오 킷의 레일즈 3 호환성 문제가 걱정되기 때문입니다. Alex의 보석은 내 응용 프로그램에 완벽하게 보였으므로 사용을 시작했고 어제 밤 Macbook에서 완벽하게 작동했습니다. 앱을 실행하면 Github에 앱이 푸시되었습니다.레일즈 3 앱에서 레일스 - 지오 코더 환경 문제가 발생했습니다.
오늘 저는 데스크톱 Mac에서이 앱의 git clone을했습니다. 동일한 버전의 Ruby, Rails 및 동일한 소스 및 Gemfile. 이 시간 지오 코더는이 예외를 던지고있다 :
NameError (uninitialized constant Geocoder::Net):
app/controllers/restaurants_controller.rb:16:in `create'
내 모델은 저장시 모델을 지오 코딩 after_validation :fetch_coordinates
를 사용합니다.
누구나 번들 밖에서이 문제를 일으킬 수있는 다른 의존성을 발견 했습니까? 나는 Alex가 이걸 하나로 묶어 놓은 방식을 좋아하지만 미완성 포트 일지라도 geokit-rails3을 시도 할 수 있습니다.
문제가 발생한 컴퓨터에서 RVM을 인식했습니다. 다른 모든 머신은 Ruby 1.8.7 p330을 실행 중입니다. 이제이 버전은 1.8.7 p330 및 1.9.2 p136을 실행 중입니다. 1.9.2로 잘 작동합니다. 1.8.7에서는 위의 오류가 있습니다. – spicerunner
문제를 해결할 수는 있지만 문제를 복제 할 수는 없습니다. 'lib/geocoder.rb'의 336 줄 시작 부분에 "::"을 추가 할 수 있습니다. 줄이 다음과 같이됩니다 :':: Net :: HTTP.get_response (URI.parse (url)). body' 그것이 내가 변화를 저지르는 문제를 해결한다는 것을 확인할 수 있습니다. –