Если вы используете маршруты restfull, то посещение some_url.xml даст вам результаты, как вы описали.Если вы работаете с XML таким образом, вы можете определить свой собственный шаблон XML-компоновщика.Он будет работать точно так же, как работает представление. Вот пример
действие вашего контроллера
def show
@obj = SomeClass.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :layout => false }
end
end
Затем в папке представлений, где вы обычно размещаете show.html.erbсоздайте файл show.xml.builder, содержимое которого будет выглядеть примерно так
xml.someclass do
xml.id(@obj.id)
xml.name(@obj.name)
end
. В этом шаблоне вы можете добавить <?xml version="1.1" encoding="UTF-8"?>
или любые другие объявления xml, которые вы хотите добавить
ОБНОВЛЕНИЕ Вам не нужно обслуживать представления, только маршрут RESTfull, контроллер и действие, у которого есть response_to, отвечающий на формат XML.Rails обнаружит, что вы хотите визуализировать xml, и будет искать файл .xml.erb в папке представлений, названной в честь действия, точно так же, как работают представления