Эй, спасибо тебе большое! У меня была такая же проблема, и он чесал голову, пытаясь понять, что происходит на земле.
У меня была простая функция, подобная этой
def media_xml
request = Builder::XmlMarkup.new
request.instruct! :xml, :version => "1.0", :encoding=>"UTF-8"
request.favourites{
request.food("banana")
}
render :xml => media_xml
end
.. и это давало ту же самую глупую ошибку. Так что после прочтения вашего поста я отделил xml builder от другой функции
def build_xml
request = Builder::XmlMarkup.new
request.instruct! :xml, :version => "1.0", :encoding=>"UTF-8"
request.favourites{
request.food("banana")
}
end
Как выясняется, даже если я добавлю одну строку в конец функции build_xml (), например, "return request", она создаст ошибку, потому что попытается добавить ее в объект XML.