aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-10-08 20:30:24 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-10-08 20:30:24 +0000
commit7ea86773a915ef8bebf1e23c3eed3a8b374d21b3 (patch)
treee3b0052c07d442eb7b3062136500774f8b035ce2
parent8ba8c7c560397b783743a662789fedcf85855ce2 (diff)
downloadrails-7ea86773a915ef8bebf1e23c3eed3a8b374d21b3.tar.gz
rails-7ea86773a915ef8bebf1e23c3eed3a8b374d21b3.tar.bz2
rails-7ea86773a915ef8bebf1e23c3eed3a8b374d21b3.zip
r5515@ks: jeremy | 2006-10-08 13:24:42 -0700
#6281 r5516@ks: jeremy | 2006-10-08 13:29:49 -0700 respond_to :html doesn't assume .rhtml. Closes #6281. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5232 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/mime_responds.rb5
-rw-r--r--actionpack/test/controller/mime_responds_test.rb17
3 files changed, 22 insertions, 2 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 6756e271bf..703bb23948 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* respond_to :html doesn't assume .rhtml. #6281 [Hampton Catlin]
+
* Fixed some deprecation warnings in ActionPack [Rick Olson]
* assert_select_rjs decodes escaped unicode chars since the Javascript generators encode them. #6240 [japgolly]
diff --git a/actionpack/lib/action_controller/mime_responds.rb b/actionpack/lib/action_controller/mime_responds.rb
index 80464ffdcd..ff07c3c12e 100644
--- a/actionpack/lib/action_controller/mime_responds.rb
+++ b/actionpack/lib/action_controller/mime_responds.rb
@@ -108,8 +108,9 @@ module ActionController #:nodoc:
class Responder #:nodoc:
DEFAULT_BLOCKS = [:html, :js, :xml].inject({}) do |blocks, ext|
- blocks.update ext => %(Proc.new { render :action => "\#{action_name}.r#{ext}", :content_type => Mime::#{ext.to_s.upcase} })
- end
+ template_extension = (ext == :html ? '' : ".r#{ext}")
+ blocks.update ext => %(Proc.new { render :action => "\#{action_name}#{template_extension}", :content_type => Mime::#{ext.to_s.upcase} })
+ end
def initialize(block_binding)
@block_binding = block_binding
diff --git a/actionpack/test/controller/mime_responds_test.rb b/actionpack/test/controller/mime_responds_test.rb
index 9118d9e553..d2cb4f1d84 100644
--- a/actionpack/test/controller/mime_responds_test.rb
+++ b/actionpack/test/controller/mime_responds_test.rb
@@ -303,4 +303,21 @@ class MimeControllerTest < Test::Unit::TestCase
get :html_xml_or_rss, :format => "rss"
assert_equal "RSS", @response.body
end
+
+ def test_render_action_for_html
+ @controller.instance_eval do
+ def render(*args)
+ unless args.empty?
+ @action = args.first[:action]
+ end
+ response.body = @action
+ end
+ end
+
+ get :using_defaults
+ assert_equal "using_defaults", @response.body
+
+ get :using_defaults, :format => "xml"
+ assert_equal "using_defaults.rxml", @response.body
+ end
end