aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/base.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-03-11 01:23:29 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-03-11 01:23:29 +0000
commit1c16649b4895012eac76f3a7f22f3382b0034a97 (patch)
tree6674f67a9ea89529b02164a08e076e51b82a1bf1 /actionpack/lib/action_controller/base.rb
parent8152695b809aa47177ab5d5db43d93d8f55ee52a (diff)
downloadrails-1c16649b4895012eac76f3a7f22f3382b0034a97.tar.gz
rails-1c16649b4895012eac76f3a7f22f3382b0034a97.tar.bz2
rails-1c16649b4895012eac76f3a7f22f3382b0034a97.zip
Added better support for using the same actions to output for different sources depending on the Accept header [DHH] Added Base#render(:xml => xml) that works just like Base#render(:text => text), but sets the content-type to text/xml and the charset to UTF-8 [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3838 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/base.rb')
-rwxr-xr-xactionpack/lib/action_controller/base.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 05c8796f81..c6c052ec56 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -1,3 +1,4 @@
+require 'action_controller/mime_type'
require 'action_controller/request'
require 'action_controller/response'
require 'action_controller/routing'
@@ -648,7 +649,10 @@ module ActionController #:nodoc:
elsif action_name = options[:action]
render_action(action_name, options[:status], options[:layout])
-
+
+ elsif xml = options[:xml]
+ render_xml(xml, options[:status])
+
elsif partial = options[:partial]
partial = default_template_name if partial == true
if collection = options[:collection]
@@ -715,10 +719,15 @@ module ActionController #:nodoc:
end
def render_javascript(javascript, status = nil)
- @response.headers['Content-Type'] = 'text/javascript'
+ @response.headers['Content-Type'] = 'text/javascript; charset=UTF-8'
render_text(javascript, status)
end
+ def render_xml(xml, status = nil)
+ @response.headers['Content-Type'] = 'text/xml; charset=UTF-8'
+ render_text(xml, status)
+ end
+
def render_nothing(status = nil)
render_text(' ', status)
end