2012-07-13 10 views
11

Zainstalowałem "ActiveSupport" i wymagało "active_support" w moim kodzie, ale otrzymałem komunikat "No Method Error", gdy próbuję użyć metody Hash.from_xml().Co muszę zrobić, aby Hash.from_xml() zadziałał?

Czego mi brakuje?

$ gem list 

powraca:

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

I:

$ ruby -v 

Powroty:

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

zawartość file.rb są:

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 

I:

$ ruby file.rb 

powraca:

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

Odpowiedz

32

Wystarczy require 'active_support' nie robi bardzo dużo, trzeba ciągnąć w kawałkach rodzaju ręcznie. Jeśli chcesz wszystkie ActiveSupport:

require 'active_support/all' 

lub jeśli po prostu chcesz rozszerzenia Hash:

require 'active_support/core_ext/hash' 
+0

niesamowite, dzięki! –

Powiązane problemy