我需要做什么才能让Hash.from_xml()工作?

时间:2012-07-13 22:32:42

标签: ruby xml hash activesupport

我在我的代码中安装了'ActiveSupport'并且需要'active_support',但当我尝试使用Hash.from_xml()方法时,我收到了“No Method Error”。

我错过了什么?

$ gem list

返回:

\*** LOCAL GEMS \***

activesupport (3.2.6)  
bundler (1.1.4)  
i18n (0.6.0)  
json (1.7.3)  
mime-types (1.19)  
multi_json (1.3.6)  
rake (0.9.2.2)  
rest-client (1.6.7)  
rubygems-bundler (1.0.3)  
rvm (1.11.3.5)

$ ruby -v

返回:

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

file.rb的内容是:

require 'active_support'  
require 'rest-client'  
require 'json'  
token = "xxx"  
user = "xxx"  
survey_id = "xxx"  
responses_from_api = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php?Request=getLegacyResponseData&User=#{user}&Token=#{token}&Version=2.0&SurveyID=#{survey_id}&Format=XML"  
responses = Hash.from_xml(responses_from_api).to_json  
puts responses

$ ruby file.rb

返回:

file.rb:8:in `<main>': undefined method `from_xml' for Hash:Class (NoMethodError)

1 个答案:

答案 0 :(得分:36)

只是require 'active_support'并没有做太多的事情,你必须亲自动手。如果你想要所有的ActiveSupport:

require 'active_support/all'

或者如果你只想要Hash扩展名:

require 'active_support/core_ext/hash'