RAILS EXCEPTION:nil的未定义方法`keys':NilClass

时间:2011-07-11 20:07:30

标签: ruby-on-rails-3 exception https

我无法弄清楚为什么在以下代码行中

res = https.get(url, nil)

应用程序停止并给我以下例外:

undefined method `keys' for nil:NilClass

奇怪的是,这个错误只发生在我的开发环境中,当我把应用程序放到网上(heroku)时,每件事都像魅力一样。
上面的代码行使用此包含:

require 'net/https'

有人能解释我为什么吗? TNX

2 个答案:

答案 0 :(得分:6)

如果您不想传递任何标题,请使用:

res = https.get(url, {})

答案 1 :(得分:1)

Net::HTTP def get(path, initheader = {}, dest = nil, &block) # :yield: +body_segment+ res = nil if HAVE_ZLIB unless initheader.keys.any?{|k| k.downcase == "accept-encoding"} initheader["accept-encoding"] = "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" @compression = true .... 此方法定义中的

initheader
代码nil中的

initheader.keys,因此第4行发生错误if HAVE_ZLIB它可能在heroku上运行正常,因为faulse可以是{{1}}所以代码被跳过了。