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

找到了答案。

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

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