我正在创建一个基本的刮刀,它可以获得每个状态的总救济金额,然后显示它,但是我收到了一个我不明白的错误。你能帮我解决一下我的计划吗?
require 'rubygems'
require 'crack'
require 'open-uri'
URL = 'http://www.recovery.gov/pages/GetXmlData.aspx?data=recipientHomeMap'
Crack::XML.parse(open(URL).read)['totals']['state'].each do |state|
puts ['id', 'awarded', 'received', 'jobs'].map{|f| state[f]}.join(', ')
end
rb:7:in':undefined method'[]'for nil:NilClass(NoMethodError)
答案 0 :(得分:0)
检查Crack::XML.parse(open(URL).read)
返回
答案 1 :(得分:0)
你没有从Crack::XML.parse(open(URL).read)
您正尝试访问nil
的值,因此undefined method '[]' for nil:NilClass
确保您实际上是首先获取文件。