2011-09-15 6 views
12

私はこれに非常に似た見出しを持つ投稿を見つけましたが、私が探していた答えを私に与えませんでした。 モデル内でBuilderを使用しようとしています。コードは次のようになります。NameError:初期化されていない定数ActiveRecord :: Associations :: Builder :: XMLMarkup

require 'builder' 

class Document < ActiveRecord::Base 
... 
    def create_xml 
    xml = Builder::XmlMarkup.new(:indent => 2) 
    ... 
    end 
... 
end 

私はこのコードを実行しようと、私は次のエラーを取得:、私はレールコンソール内の同じ事をしようと、すべての作品を

NameError: uninitialized constant ActiveRecord::Associations::Builder::XMLMarkup 

をしかし、ちょうど良い。
何か不足していますか?どんな助けでも大歓迎です。

答えて

37

答えを見つけました。

あなたはこのように、rootlevelにBuilderを追加する必要があります。

xml = ::Builder::XmlMarkup.new(:indent => 2) 
+1

ありがとう!これがなぜ機能するのか説明していますか? – elsurudo

+0

この記事の回答を見る:http://stackoverflow.com/questions/10482772/rubys-double-colon-operator-usage-differences – klaffenboeck

関連する問題