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

时间:2011-09-15 03:12:13

标签: ruby-on-rails ruby-on-rails-3.1 xml-builder

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

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控制台中尝试相同的操作时,一切正常。

1 个答案:

答案 0 :(得分:38)

找到答案。

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

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