13

「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)
4

1 に答える 1

41

あまりrequire 'active_support'機能しません。手でピースを引っ張る必要があります。ActiveSupport のすべてが必要な場合:

require 'active_support/all'

または、ハッシュ拡張機能だけが必要な場合:

require 'active_support/core_ext/hash'
于 2012-07-13T23:15:31.993 に答える