Я пытаюсь сделать следующее, но выходной XML плохо сформирован:
xml = Builder::XmlMarkup.new({:target => display })
xml.instruct!
xml.mail {
xml.documents {
xml.document {
xml.template {
xml.source "gallery"
xml.name "Postcard: Image fill front"
}
xml.sections {
xml.section {
xml.name "Text"
xml.text "Hello, world"
}
xml.section {
xml.name "Image"
xml.attachment "1136946686-3425"
}
} #sections
} #document
} #documents
xml.addresses {
xml.addressee {
xml.name "Me"
xml.address "Street"
xml.city "San Francisco"
xml.state "CA"
}
}
}
@xml_display = xml
Мне нужно, чтобы он выглядел примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<mail>
<documents>
<document>
<template>
<source>gallery</source>
<name>Postcard: Image fill front</name>
</template>
<sections>
<section>
<name>Text</name>
<text>Hello, World!</text>
</section>
<section>
<name>Image</name>
<attachment>...attachment id...</attachment>
</section>
</sections>
</document>
</documents>
<addressees>
<addressee>
<name>John Doe</name>
<address>123 Main St</address>
<city>Anytown</city>
<state>AZ</state>
<postal-code>10000</postal-code>
</addressee>
</addressees>
</mail>
Мой код выглядит примерно такэто в представлении (источник страницы):
<?xml version="1.0" encoding="UTF-8"?><mail/><documents/><document/><template/><source>gallery</source><name>Postcard: Image fill front</name>
ПРИМЕЧАНИЕ: окончательный XML-файл должен быть размещен в URL, и я использую rest-client и поэтому хочу, чтобы все стало переменной экземпляракоторый передается как тело.
Переменная экземпляра просто @xml_display = xml, но она не работает ...: (*