2012-07-13 7 views
11

Ho installato "ActiveSupport" e richiesto "active_support" nel mio codice, ma ottengo un "Errore di metodo" quando tento di utilizzare il metodo Hash.from_xml().Cosa devo fare per far funzionare Hash.from_xml()?

Cosa mi manca?

$ gem list 

rendimenti:

\*** 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) 

E:

$ ruby -v 

restituisce:

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

I contenuti di file.rb sono:

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 

E:

$ ruby file.rb 

rendimenti:

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

risposta

32

Proprio require 'active_support' non fa molto, è necessario tirare i pezzi sorta di mano. Se si desidera che tutti ActiveSupport:

require 'active_support/all' 

o se volete semplicemente le estensioni Hash:

require 'active_support/core_ext/hash' 
+0

Impressionante, grazie! –