如何在ruby-on-rails中请求xml中的页面?

时间:2010-07-17 19:51:59

标签: ruby-on-rails

这是我在控制器中的代码

respond_to do |format|
  format.html
  format.xml  { render :xml => @menus }
end

当我输入“http://192.168.210.136:3000”时,它会呈现html版本。

但我如何申请xml版本?我试过http://192.168.210.136:3000.xmlhttp://192.168.210.136:3000/index.xml没有运气。

谢谢!

3 个答案:

答案 0 :(得分:1)

在一般情况下,您将.xml后缀添加到您的URL,以告诉Rails响应者您想要什么。您的控制器逻辑是处理传入请求的正确方法。

E.g。 XML中ID = 1的User show如下所示:

  

http://192.168.210.136:3000/users/1.xml

答案 1 :(得分:1)

如果您希望在根路由中返回XML(默认情况下),您可能需要更改routes.rb以使其更明确,如下所示(rails 3示例):

Sandbox::Application.routes.draw do |map|
  root :to => "static#index", :format => :xml
end

在rails 2.3.x上,您可以将路由传递为默认哈希,如下所示:

map.connect 'photos/:id', :controller => 'photos',
                          :action => 'show',
                          :defaults => { :format => 'jpg' }

有关rails路由器的更多信息,请查看官方Rails指南: http://guides.rubyonrails.org/routing.html

答案 2 :(得分:1)