Skip to content

Commit

Permalink
Use the right format when a partial is missing.
Browse files Browse the repository at this point in the history
Closes #5025
  • Loading branch information
spastorino committed Feb 20, 2012
1 parent 8c870f1 commit 8b86259
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
1 change: 1 addition & 0 deletions actionpack/lib/action_view/template.rb
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ def refresh(view)
pieces = @virtual_path.split("/")
name = pieces.pop
partial = !!name.sub!(/^_/, "")
lookup.formats = @formats
lookup.disable_cache do
lookup.find_template(name, [ pieces.join('/') ], partial, @locals)
end
Expand Down
1 change: 1 addition & 0 deletions actionpack/test/fixtures/with_format.json.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<%= render :partial => 'missing', :formats => [:json] %>
7 changes: 7 additions & 0 deletions actionpack/test/template/render_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ def test_render_template_with_format
assert_match "<error>No Comment</error>", @view.render(:template => "comments/empty", :formats => [:xml])
end

def test_render_template_with_a_missing_partial_of_another_format
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
end

def test_render_file_with_locale
assert_equal "<h1>Kein Kommentar</h1>", @view.render(:file => "comments/empty", :locale => [:de])
assert_equal "<h1>Kein Kommentar</h1>", @view.render(:file => "comments/empty", :locale => :de)
Expand Down

0 comments on commit 8b86259

Please sign in to comment.