aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/mime_responds.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-05-31 18:52:24 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-05-31 18:52:24 +0000
commitf9cd92f4ee49c689f25dbe7da008fb298a5feb4f (patch)
tree1498f6f638177ff53f99fb85cb89dc3c01c884e9 /actionpack/lib/action_controller/mime_responds.rb
parente7fe1c47baf89522617b67e96b701ee916adcb88 (diff)
downloadrails-f9cd92f4ee49c689f25dbe7da008fb298a5feb4f.tar.gz
rails-f9cd92f4ee49c689f25dbe7da008fb298a5feb4f.tar.bz2
rails-f9cd92f4ee49c689f25dbe7da008fb298a5feb4f.zip
Added interrogation of params[:format] to determine Accept type. If :format is specified and matches a declared extension, like "rss" or "xml", that mime type will be put in front of the accept handler. This means you can link to the same action from different extensions and use that fact to determine output [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4384 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/mime_responds.rb')
-rw-r--r--actionpack/lib/action_controller/mime_responds.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/mime_responds.rb b/actionpack/lib/action_controller/mime_responds.rb
index ff4837896c..e1e6790381 100644
--- a/actionpack/lib/action_controller/mime_responds.rb
+++ b/actionpack/lib/action_controller/mime_responds.rb
@@ -110,7 +110,12 @@ module ActionController #:nodoc:
def initialize(block_binding)
@block_binding = block_binding
- @mime_type_priority = eval("request.accepts", block_binding)
+ @mime_type_priority = eval(
+ "(params[:format] && Mime::EXTENSION_LOOKUP[params[:format]]) ? " +
+ "[ Mime::EXTENSION_LOOKUP[params[:format]] ] : request.accepts",
+ block_binding
+ )
+
@order = []
@responses = {}
end