繁体   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