NameError: неинициализированная константа ActiveRecord :: Ассоциации :: Builder :: XMLMarkup - PullRequest
12 голосов
/ 15 сентября 2011

Я нашел пост с заголовком, очень похожим на этот, но он не дал мне ответа, который я искал.Я пытаюсь использовать строитель внутри модели.Код выглядит примерно так:

require 'builder'

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

Когда я пытаюсь выполнить этот код, я получаю следующую ошибку:

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

Но, когда я пытаюсь сделать то же самое в рельсахконсоль, все работает просто отлично.Я что-то пропустил?Любая помощь будет высоко ценится.

1 Ответ

38 голосов
/ 15 сентября 2011

Нашел ответ.

Вы должны добавить Builder на корневой уровень, например:

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