diff options
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/base.rb | 2 | ||||
-rw-r--r-- | actionpack/test/action_view_test.rb | 18 |
3 files changed, 21 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 2a5bbee72f..0388f09b66 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed that ActionView#file_exists? would be incorrect if @first_render is set #10569 [dbussink] + * Added that Array#to_param calls to_param on all it's elements #10473 [brandon] * Ensure asset cache directories are automatically created. #10337 [Josh Peek, Chu Yeow] diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index ee10d8cb0a..5b34b855e1 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -404,7 +404,7 @@ If you are rendering a subtemplate, you must now use controller-like partial syn if template_file_extension template_exists?(template_file_name, template_file_extension) else - pick_template_extension(template_path) + template_exists?(template_file_name, pick_template_extension(template_path)) end end diff --git a/actionpack/test/action_view_test.rb b/actionpack/test/action_view_test.rb index 729438af32..a69ff36f9f 100644 --- a/actionpack/test/action_view_test.rb +++ b/actionpack/test/action_view_test.rb @@ -23,4 +23,22 @@ class ActionViewTests < Test::Unit::TestCase assert_equal expectation, base.send(:find_template_extension_from_first_render) end end + + def test_should_report_file_exists_correctly + base = ActionView::Base.new + + assert_nil base.send(:find_template_extension_from_first_render) + + assert_equal false, base.send(:file_exists?, 'test.rhtml') + assert_equal false, base.send(:file_exists?, 'test.rb') + + base.instance_variable_set('@first_render', 'foo.rb') + + assert_equal 'rb', base.send(:find_template_extension_from_first_render) + + assert_equal false, base.send(:file_exists?, 'baz') + assert_equal false, base.send(:file_exists?, 'baz.rb') + + end + end |