簡體   English   中英

Rails 2.3.4 Geokit錯誤?

[英]Rails 2.3.4 Geokit error?

我有一個Rails應用程序。 Rails version is 2.3.4ruby version 1.8.7 在該應用程序中,我使用了geokit (1.5.0) gemgeokit-rail的插件來查找最近的位置。

在我的模型中,我有這樣的代碼,

class Notary < ActiveRecord::Base

acts_as_mappable

end

在我的控制器中有這樣的代碼,

class Client::OrdersController < ApplicationController

    def find_notary
    @order = Order.find(params[:id])
    @miles = 10
    unless params[:notary_search]
      @notaries = Notary.find(:all, :origin => @order.signing_location_zip_code, :within => @miles, :conditions => "on_vacation IS NOT true",:order=>"distance asc" )
    else
    some code
    end
end

end

我在那一行中出錯

@notaries = Notary.find(:all,:origin => @ order.signing_location_zip_code,:within => @miles,:conditions =>“ on_vacation不正確”,:order =>“距離asc”),

客戶端/訂單中的Geokit :: Geocoders :: GeocodeErrorController#find_notary

Geokit :: Geocoders :: GeocodeError

RAILS_ROOT:/ home / user / svnnew_app / trunk / app

應用程序跟蹤| 框架跟蹤 全跡

/home/user/.rvm/gems/ruby-1.8.7-p371@app/gems/geokit-1.5.0/lib/geokit/mappable.rb:282:在“規范化”中

/home/user/svnnew_app/trunk/app/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb:347:in normalize_point_to_lat_lng

/home/user/svnnew_app/trunk/app/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb:306:在`extract_origin_from_options'中

/home/user/svnnew_app/trunk/app/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb:203:在`prepare_for_find_or_count'中

/home/user/svnnew_app/trunk/app/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb:108:在“查找”中

/home/user/svnnew_app/trunk/app/app/controllers/client/orders_controller.rb:331:in'find_notary'

請求

參數:

{“ id” =>“ 1198”}

顯示會話轉儲響應

標頭:

{“ Cache-Control” =>“ no-cache”,“ Content-Type” =>“”}

如何解決這個錯誤? 請幫幫我..

我維護geokit。 我看了一下源代碼,當從API返回的響應不是數字(例如,字符串,但格式不是“ 99.99,88.88”)時,就會發生該行,因此如果地理編碼API返回“ NA”或例如。

而且我知道StackOverflow會說“避免”以下內容(澄清,意見等),但是在這里是:

如果您不做一些事情,我無能為力:

1)如果您可以更新到最新的geokit(gem:1.7.1或最新的github master)

2)做一些調試,例如打開“ /home/user/.rvm/gems/ruby-1.8.7-p371@app/gems/geokit-1.5.0/lib/geokit/mappable.rb”(282行),然后至少將引起錯誤的字符串與任何其他相關的局部變量“放入”。

對於任何紅寶石開發人員而言,必須使用諸如pry / pry-debugger之類的寶石來調試此類問題。

3)在可能的情況下更新其他軟件(甚至升級到最新的ruby 1.8.7和rails 2.x)您的ruby(1.8.7)和rails(2.x)都很老,並且包含各種安全問題,應該有些關注。 我盡我所能使geokit / geokit-rails與ruby 1.8.7一起工作,但是geokit-rails中甚至降低了rails 2的兼容性,盡管我很樂意為您提供幫助,因為您可能會在支持的geokit-rails中遇到問題導軌版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM