NameError:未初始化的常量ActiveRecord :: Associations :: Builder :: XMLMarkup

kla*_*eck 12 ruby-on-rails xml-builder ruby-on-rails-3.1

我发现一个标题与此标题非常类似的帖子,但它没有给我我想要的答案.我试图在模型中使用builder.代码看起来像这样:

require 'builder'

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

当我尝试执行此代码时,出现以下错误:

NameError: uninitialized constant ActiveRecord::Associations::Builder::XMLMarkup
Run Code Online (Sandbox Code Playgroud)

但是,当我在rails控制台中尝试相同的操作时,一切正常.
我错过了什么吗?任何帮助将非常感激.

kla*_*eck 38

找到了答案.

您必须将Builder附加到根级别,如下所示:

xml = ::Builder::XmlMarkup.new( :indent => 2 )
Run Code Online (Sandbox Code Playgroud)