Установить тип ответа контроллера rails на xml
Я довольно новичок в рельсах. я пытаюсь установить тип ответа контроллера рельсы на XML, но не очень удачи. Конечно, я мог бы позволить себе лучше понять, как работают response_to и response_with.
вот как выглядит мой контроллер:
class ResponsesController < ApplicationController
respond_to :xml
def index
require 'rubygems'
require 'telapi'
ix = Telapi::InboundXml.new do
Say('Hello.', :loop => 3, :voice => 'man')
Say('Hello, my name is Jane.', :voice => 'woman')
Say('Now I will not stop talking.', :loop => 0)
end
respond_with do |format|
format.xml { render }
end
puts ix.response
end
end
это приводит к ошибке поиска http. Может кто-нибудь посоветовать мне, как я могу исправить контроллер и установить его тип ответа на xml? Кроме того, убедительный вкладыш 1-2 того, как response_to и response_with работает, был бы удивительным!
Спасибо всем.
1 ответ
Замещать
respond_with do |format|
format.xml { render }
end
с
respond_with(ix)
Есть 2 способа рендеринга XML. В примере 1 используется response_to, что означает, что "каждый метод будет использовать xml и использовать анализ объекта из response_with"
В примере 2 используется response_to, что означает "используйте блок ниже, чтобы объявить, какой тип ответа и анализируемого объекта"
пример 1:
class ResponsesController
respond_to :xml #respond_to A
def index
respond_with(@asd) # respond_with A
end
end
пример 2:
def ResponsesController
def index
respond_to do |format|
format.xml { render xml: @asd}
end
end
end
http://blog.plataformatec.com.br/2009/08/embracing-rest-with-mind-body-and-soul/