[英]Rails 2.3.4 Geokit error?
我有一个Rails应用程序。 Rails version is 2.3.4
, ruby version 1.8.7
。 在该应用程序中,我使用了geokit (1.5.0) gem
和geokit-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.