Rails обрабатывает большую часть этого из коробки.
Вам нужно взглянуть на response_to
Это вернет записи в @list как XML:
@list = Model.find(:all)
respond_to do |format|
format.html { render :action => "index" }
format.xml { render :xml => @list }
end
Вы можете установить статус, используя заголовки http (для действий, которые ничего не возвращают):
format.xml { head :ok }
И вы можете предоставить более сложные сообщения, в этом случае возвращая ошибки Active Record и сообщение о состоянии:
format.xml { render :xml => @model.errors, :status => :unprocessable_entity }