Я начал использовать xml шаблоны разработчика для большей части своей модели. Я должен найти универсальный способ создать XML за пределами рендеринга, который использует шаблон .xml.builder вместо универсального .to_xml метода, предоставленного в модели
Я заключаю, что должен буду переопределить значение по умолчанию to_xml (или добавить to_my_xml), но я не могу видеть, как заставить XMLBuilder использовать мои .builder файлы.
Какие-либо идеи?
Если вы ищете, как создать XML, используя Builder, то так вы можете сделать это
require 'rubygems'
require 'builder'
builder = Builder::XmlMarkup.new(:indent=>2)
builder.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
builder.my_elements do |e|
builder.myitem {|element| element.my_element_name('element_value')}
end
#=>
<?xml version="1.0" encoding="UTF-8"?>
<my_elements>
<myitem>
<my_element_name>element_value</my_element_name>
</myitem>
</my_elements>
Добавьте A BLOCK_TO
в вашем контроллере, чтобы соответствующий шаблон отображается в соответствии с запрошенным форматом. Например:
def show
...
respond_to do |format|
format.html # renders show.html.erb
format.xml # renders show.xml.builder
end
end