Rails Geocoder在rubysl/net/http/http.rb上的nil:NilClass上未定义的方法“to_sym”

Rails Geocoder在rubysl/net/http/http.rb上的nil:NilClass上未定义的方法“to_sym”,ruby,ruby-on-rails-4,rails-geocoder,rubinius,Ruby,Ruby On Rails 4,Rails Geocoder,Rubinius,所以我在RubyonRails上开发了一个使用gem的网站 以下是我的实现: def User < ActiveRecord::Base before_save :geocode geocoded_by :address do |usr, geocode_results| if geo = geocode_results.first usr.latitude = geo.latitude usr.longitude = geo.

所以我在RubyonRails上开发了一个使用gem的网站

以下是我的实现:

def User < ActiveRecord::Base    
    before_save :geocode
    geocoded_by :address do |usr, geocode_results|
    if geo = geocode_results.first
       usr.latitude  = geo.latitude
       usr.longitude = geo.longitude
       usr.geocode_address = geo.address
    else
      usr.latitude  = nil
      usr.longitude = nil
      usr.geocode_address = nil
    end
end
事实证明,这就是to_sym for nil:NilClass错误的罪魁祸首——grep似乎什么也没发现

Rails地理编码器正在调用Net:HTTP

我怀疑这是rbx-2.2.1问题,所以我将尝试切换到ruby-2.2.1,看看它是否会在接下来的几天内发生。这曾经发生在任何人身上吗

编辑:如果我重新启动rails服务器线程,问题就会消失,但会在1-2天内恢复

编辑:这是导致问题的用户\控制器

respond_to do |format| #line 169
    @id = @user.id
    @user.update(user_params) #line 171
    if params[:user][:redirect_to_index].present? or @user.chef?
        format.html { redirect_to root_path }
        format.json { render :show, status: :ok, location: @user }
    else
        format.html { redirect_to @user }
        format.json { render :show, status: :ok, location: @user }
    end
end

我通过从rbx-2.2.1切换到ruby-2.2.1解决了这个问题。我认为这似乎是由geocoder和rbx-2.2.1之间的一些错误造成的。

很难读取stacktrace。。。也许你可以清理一下?嘿,很抱歉-显示堆栈跟踪的首选方式是什么?也许我可以删除不相关的部分,我不知道-我真的不知道一行何时结束,另一行何时开始:P看起来好像是线被包起来了。如果你可以打开这些行,那么只需使用可点击的代码,而不是使用
标记或>,将其转换为代码,这可能更容易解码:当然,给我一分钟时间,我已经对它们进行了编码。。。但看起来这些线还是在你把它们粘到这里之前被包装好的?代码和堆栈跟踪混杂在一起。。。
respond_to do |format| #line 169
    @id = @user.id
    @user.update(user_params) #line 171
    if params[:user][:redirect_to_index].present? or @user.chef?
        format.html { redirect_to root_path }
        format.json { render :show, status: :ok, location: @user }
    else
        format.html { redirect_to @user }
        format.json { render :show, status: :ok, location: @user }
    end
end