非RESTFul Rails XML api

时间:2011-11-17 11:49:18

标签: ruby-on-rails ruby xml ruby-on-rails-3 rest

我在rails 3中编写了一个小API。这不是一个安静的应用程序,所以我使用一个名为api的控制器,它有一些方法,如:

def users
  @users = User.all
    respond_to do |format|
           format.any do
                  render :xml => @users.to_xml
            end
    end
  end
end

我的路线(删除了评论等)文件如下所示:

resources :shows
resources :users

resources :comments 

devise_scope :user do
    get "/login" => "devise/sessions#new"
    get "/logout" => "devise/sessions#destroy"
    get "/register" => "devise/registrations#new"
end


root :to => 'home#index'

match ':controller(/:action(/:id(.:format)))'

当我调用api / users时,我得到了包含在HTML标签中的XML(实际上是在实体中),但如果我调用api / users.xml,我会收到406错误吗?

我是否需要更改路由以适应XML调用?

谢谢,

取值

1 个答案:

答案 0 :(得分:0)

我添加了一条到routes.rb的新路由,它起作用了:

match 'api/users.:format' => 'api#users', :constraints => {:format => /(xml)/}

Ĵ