aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2012-02-21 14:55:34 -0200
committerSantiago Pastorino <santiago@wyeworks.com>2012-02-21 14:55:52 -0200
commit4eff6bc6dfeea3eed5d92af66bd73e6a2cb9b09f (patch)
tree7d9c4558f8865eeeedf6ee070e59ba9ce6c1b54c /actionpack
parentb1229685c4329252cbdc44ac10d43fb633d01adb (diff)
downloadrails-4eff6bc6dfeea3eed5d92af66bd73e6a2cb9b09f.tar.gz
rails-4eff6bc6dfeea3eed5d92af66bd73e6a2cb9b09f.tar.bz2
rails-4eff6bc6dfeea3eed5d92af66bd73e6a2cb9b09f.zip
Restore lookup formats to the previous value after searching for the failing view
Diffstat (limited to 'actionpack')
-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