2014-01-17 2 views
2

Rails 2.3.8 앱을 Rails 3.0.20으로 마이그레이션 했으므로 "gem'geokit '1.6.0" . "보석"geokit 레일 "에Geokit -`class : Railtie>의 블록 (2 단계) ': 정의되지 않은 메소드

내가 얻을 :

/Users/alextoul/.rvm/gems/[email protected]/gems/geokit-rails-2.0.1/lib/geokit-rails/railtie.rb:33:in `block (2 levels) in <class:Railtie>': undefined method `proxy_addr=' for Geokit::Geocoders:Module (NoMethodError) 

내 geokit_config.rb은 다음과 같습니다

MyApp::Application.configure do 

    # These defaults are used in Geokit::Mappable.distance_to and in acts_as_mappable 
    config.geokit.default_units = :miles 
    config.geokit.default_formula = :sphere 

    # This is the timeout value in seconds to be used for calls to the geocoder web 
    # services. For no timeout at all, comment out the setting. The timeout unit 
    # is in seconds. 
    config.geokit.geocoders.request_timeout = 3 

    # These settings are used if web service calls must be routed through a proxy. 
    # These setting can be nil if not needed, otherwise, addr and port must be 
    # filled in at a minimum. If the proxy requires authentication, the username 
    # and password can be provided as well. 
    config.geokit.geocoders.proxy_addr = nil 
    config.geokit.geocoders.proxy_port = nil 
    config.geokit.geocoders.proxy_user = nil 
    config.geokit.geocoders.proxy_pass = nil 

    # This is your yahoo application key for the Yahoo Geocoder. 
    # See http://developer.yahoo.com/faq/index.html#appid 
    # and http://developer.yahoo.com/maps/rest/V1/geocode.html 
    config.geokit.geocoders.yahoo = 'secret' 

    # This is your Google Maps geocoder key. 
    # See http://www.google.com/apis/maps/signup.html 
    # and http://www.google.com/apis/maps/documentation/#Geocoding_Examples 
    config.geokit.geocoders.google = 'secret' 

    # You can also set multiple API KEYS for different domains that may be directed to this same application. 
    # The domain from which the current user is being directed will automatically be updated for Geokit via 
    # the GeocoderControl class, which gets it's begin filter mixed into the ActionController. 
    # You define these keys with a Hash as follows: 
    #config.geokit.geocoders.google = { 'rubyonrails.org' => 'RUBY_ON_RAILS_API_KEY', 'ruby-docs.org' => 'RUBY_DOCS_API_KEY' } 

    # This is your username and password for geocoder.us. 
    # To use the free service, the value can be set to nil or false. For 
    # usage tied to an account, the value should be set to username:password. 
    # See http://geocoder.us 
    # and http://geocoder.us/user/signup 
    config.geokit.geocoders.geocoder_us = false 

    # This is your authorization key for geocoder.ca. 
    # To use the free service, the value can be set to nil or false. For 
    # usage tied to an account, set the value to the key obtained from 
    # Geocoder.ca. 
    # See http://geocoder.ca 
    # and http://geocoder.ca/?register=1 
    config.geokit.geocoders.geocoder_ca = false 

    # require "external_geocoder.rb" 
    # Please see the section "writing your own geocoders" for more information. 
    # config.geokit.geocoders.external_key = 'REPLACE_WITH_YOUR_API_KEY' 

    # This is the order in which the geocoders are called in a failover scenario 
    # If you only want to use a single geocoder, put a single symbol in the array. 
    # Valid symbols are :google, :yahoo, :us, and :ca. 
    # Be aware that there are Terms of Use restrictions on how you can use the 
    # various geocoders. Make sure you read up on relevant Terms of Use for each 
    # geocoder you are going to use. 
    config.geokit.geocoders.provider_order = [:google,:us] 

    # The IP provider order. Valid symbols are :ip,:geo_plugin. 
    # As before, make sure you read up on relevant Terms of Use for each. 
    # config.geokit.geocoders.ip_provider_order = [:external,:geo_plugin,:ip] 

end 

나는 geokit_config.rb 파일, 서버가 시작하지만 난을 삭제하면 분명히 가지고있다 :

ArgumentError (Unknown key(s): origin, within): 

아이디어가 있으십니까?

답변

3
입니다/포트/사용자와 패스 단지 프록시 로 대체되었습니다

proxy_addr 문자열 같은 :

config.geokit.geocoders.proxy_addr = nil 
config.geokit.geocoders.proxy_port = nil 
config.geokit.geocoders.proxy_user = nil 
config.geokit.geocoders.proxy_pass = nil 

그것은 이제 :

config.geokit.geocoders.proxy = nil 
당신이 가지고 그렇다면

https://user:[email protected]:port 

추 신. geokit에서 geokit-rails로 전환 할 필요는 없습니다. 실제로는 다릅니다. geokit-rails는 geokit입니다. acts_as_mappable과 같이 레일에 대한 몇 가지 사항이 추가되었습니다.

업그레이드 전에 geokit-rails가 필요하지 않다면 나중에 필요하지 않아야합니다. 원할 경우 레일 전용 항목을 추가합니다.

관련 문제