aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/template.rb4
-rw-r--r--actionpack/test/template/render_test.rb3
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