Rails 3 respond_to: default format?
- by bdorry
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?