12

これとよく似た見出しの投稿を見つけましたが、探していた答えが得られませんでした。モデル内でビルダーを使用しようとしています。コードは次のようになります。

require 'builder'

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

このコードを実行しようとすると、次のエラーが発生します。

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

しかし、Rails コンソール内で同じことを試してみると、すべて問題なく動作します。
何か不足していますか?どんな助けでも大歓迎です。

4

1 に答える 1

39

答えが見つかりました。

次のように、ビルダーをルートレベルに追加する必要があります。

xml = ::Builder::XmlMarkup.new( :indent => 2 )
于 2011-09-15T11:20:54.240 に答える