我正在尝试创建一个API,我需要返回xml而不管请求格式如何。 现在我的控制器中有以下内容
def index
@posts = Post.all
respond_to do |format|
format.xml
end
end
我有一个index.xml.builder
'/ posts.xml'适用于我,但不适用于'/ posts'
我试过request.format =:xml给了我一个SystemStackError(堆栈级别太深):为什么会这样。
如何强制控制器为所有类型的请求呈现xml?所以我不需要在url中指定看起来干净整洁的格式?
答案 0 :(得分:2)
def index
@posts = Post.all
respond_to do |format|
format.any do
render :xml => @posts.to_xml
end
end
end
答案 1 :(得分:0)
我确实喜欢这个,因为我有一个自定义的xml视图来渲染:
def index
respond_to do |format|
format.any do
headers["Content-Type"] = "application/xml; charset=utf-8"
render "index.xml"
end
end
end