Rails 3 respond_to: default format?
Posted
by
bdorry
on Stack Overflow
See other posts from Stack Overflow
or by bdorry
Published on 2011-01-10T04:44:29Z
Indexed on
2011/01/10
4:53 UTC
Read the original article
Hit count: 221
ruby-on-rails
|ruby-on-rails3
I am converting a Rails 2 application to Rails 3. I currently have a controller set up like the following:
class Api::RegionsController < ApplicationController
respond_to :xml, :json
end
with and an action that looks like the following:
def index
@regions = Region.all
respond_with @regions
end
The implementation is pretty straightforward, api/regions, api/regions.xml and api/regions.json all respond as you would expect. The problem is that I want api/regions by default to respond via XML. I have consumers that expect an XML response and I would hate to have them change all their URLs to include .xml unless absolutely necessary.
In Rails 2 you would accomplish that by doing this:
respond_to do |format|
format.xml { render :xml => @region.to_xml }
format.json { render :json => @region.to_json }
end
But in Rails 3 I cannot find a way to default it to an XML response. Any ideas?
© Stack Overflow or respective owner