Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #5603 from drogus/fix-rendered-format-for-render-p…

…artial

Fix rendered format for render partial
  • Loading branch information...
commit e31ec4700b9e1ca4726cff46fd68442fd6364b7b 2 parents 3eb5be6 + 449a4fc
José Valim josevalim authored
10 actionpack/lib/action_view/renderer/partial_renderer.rb
View
@@ -221,6 +221,14 @@ def render(context, options, block)
setup(context, options, block)
identifier = (@template = find_partial) ? @template.identifier : @path
+ @lookup_context.rendered_format ||= begin
+ if @template && @template.formats.present?
+ @template.formats.first
+ else
+ formats.first
+ end
+ end
+
if @collection
instrument(:collection, :identifier => identifier || "collection", :count => @collection.size) do
render_collection
@@ -273,8 +281,6 @@ def setup(context, options, block)
@block = block
@details = extract_details(options)
- @lookup_context.rendered_format ||= formats.first
-
if String === partial
@object = options[:object]
@path = partial
13 actionpack/test/controller/render_test.rb
View
@@ -543,6 +543,10 @@ def partial
render :partial => 'partial'
end
+ def partial_html_erb
+ render :partial => 'partial_html_erb'
+ end
+
def render_to_string_with_partial
@partial_only = render_to_string :partial => "partial_only"
@partial_with_locals = render_to_string :partial => "customer", :locals => { :customer => Customer.new("david") }
@@ -1267,6 +1271,15 @@ def test_should_render_html_formatted_partial
assert_equal "text/html", @response.content_type
end
+ def test_render_html_formatted_partial_even_with_other_mime_time_in_accept
+ @request.accept = "text/javascript, text/html"
+
+ get :partial_html_erb
+
+ assert_equal "partial.html.erb", @response.body.strip
+ assert_equal "text/html", @response.content_type
+ end
+
def test_should_render_html_partial_with_formats
get :partial_formats_html
assert_equal "partial html", @response.body
1  actionpack/test/fixtures/test/_partial_html_erb.html.erb
View
@@ -0,0 +1 @@
+<%= "partial.html.erb" %>
Please sign in to comment.
Something went wrong with that request. Please try again.