diff options
-rw-r--r-- | actionpack/lib/action_view/template.rb | 4 | ||||
-rw-r--r-- | actionpack/test/template/render_test.rb | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb index af6e5d0645..3a944cf1ab 100644 --- a/actionpack/lib/action_view/template.rb +++ b/actionpack/lib/action_view/template.rb @@ -164,10 +164,12 @@ module ActionView pieces = @virtual_path.split("/") name = pieces.pop partial = !!name.sub!(/^_/, "") - lookup.formats = @formats + previous_formats, lookup.formats = lookup.formats, @formats lookup.disable_cache do lookup.find_template(name, [ pieces.join('/') ], partial, @locals) end + ensure + lookup.formats = previous_formats end def inspect diff --git a/actionpack/test/template/render_test.rb b/actionpack/test/template/render_test.rb index 4eb3754a50..fe013f2475 100644 --- a/actionpack/test/template/render_test.rb +++ b/actionpack/test/template/render_test.rb @@ -52,10 +52,11 @@ module RenderTestCases end def test_render_template_with_a_missing_partial_of_another_format + @view.lookup_context.freeze_formats([:html]) assert_raise ActionView::Template::Error, "Missing partial /missing with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder]}" do - @view.lookup_context.freeze_formats([:html]) @view.render(:template => "with_format", :formats => [:json]) end + assert_equal [:html], @view.lookup_context.formats end def test_render_file_with_locale |