aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Olson <technoweenie@gmail.com>2007-04-15 18:01:40 +0000
committerRick Olson <technoweenie@gmail.com>2007-04-15 18:01:40 +0000
commit39ccb5e807eadfc9bf6ac780778aa1de4d09e196 (patch)
tree26f94ff11876e86d87298c31ff8f3e7c7a9ac55c
parentc2f4681ab40083880b3aabe38769a5d5d3432447 (diff)
downloadrails-39ccb5e807eadfc9bf6ac780778aa1de4d09e196.tar.gz
rails-39ccb5e807eadfc9bf6ac780778aa1de4d09e196.tar.bz2
rails-39ccb5e807eadfc9bf6ac780778aa1de4d09e196.zip
Tweak template format rules so that the ACCEPT header is only used if it's text/javascript. This is so ajax actions without a :format param get recognized as Mime::JS. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6522 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_view/base.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 9cb6db6b0b..13d362725e 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Tweak template format rules so that the ACCEPT header is only used if it's text/javascript. This is so ajax actions without a :format param get recognized as Mime::JS. [Rick]
+
* The default respond_to blocks don't set a specific extension anymore, so that both 'show.rjs' and 'show.js.rjs' will work. [Rick]
* Allow layouts with extension of .html.erb. Closes #8032 [Josh Knowles]
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb
index 1a4234b2c9..5ae3e7ba11 100644
--- a/actionpack/lib/action_view/base.rb
+++ b/actionpack/lib/action_view/base.rb
@@ -403,7 +403,19 @@ module ActionView #:nodoc:
# symbolized version of the :format parameter of the request, or :html by default.
def template_format
- @template_format ||= controller.request.parameters[:format].to_sym rescue :html
+ if @template_format.nil?
+ @template_format =
+ begin
+ if controller.request.accepts.first == Mime::JS
+ :js
+ else
+ controller.request.parameters[:format].to_sym
+ end
+ rescue
+ :html
+ end
+ end
+ @template_format
end
def template_handler_preferences