aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template
diff options
context:
space:
mode:
authorHenrik Nygren <nygrenh@gmail.com>2015-05-14 09:42:55 +0300
committerHenrik Nygren <nygrenh@gmail.com>2015-05-14 10:46:44 +0300
commitbef9484cf867ab261891d3431782e60c4e17f87f (patch)
tree20d2436600193a9fcd756b564aeb0153c8425ecb /actionview/test/template
parent987a45307f8ca0b8b6cbab3763180cbe4eee18b7 (diff)
downloadrails-bef9484cf867ab261891d3431782e60c4e17f87f.tar.gz
rails-bef9484cf867ab261891d3431782e60c4e17f87f.tar.bz2
rails-bef9484cf867ab261891d3431782e60c4e17f87f.zip
Do not put partial name to local_assigns when rendering without an object
When one rendered a partial template without specifying an object or a collection (e.g. <%= render partial: 'partial_name' %>), Rails would make an object called :partial_name available in local_assigns. I don't think this was the intended behavior, since no local variable called 'partial_name' gets defined in the view.
Diffstat (limited to 'actionview/test/template')
-rw-r--r--actionview/test/template/render_test.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb
index 22665b6844..27bbb9b6c1 100644
--- a/actionview/test/template/render_test.rb
+++ b/actionview/test/template/render_test.rb
@@ -277,6 +277,14 @@ module RenderTestCases
assert_nil @view.render(:partial => "test/customer", :collection => nil)
end
+ def test_render_partial_without_object_does_not_put_partial_name_to_local_assigns
+ assert_equal 'false', @view.render(partial: 'test/partial_name_in_local_assigns')
+ end
+
+ def test_render_partial_with_nil_object_puts_partial_name_to_local_assigns
+ assert_equal 'true', @view.render(partial: 'test/partial_name_in_local_assigns', object: nil)
+ end
+
def test_render_partial_with_nil_values_in_collection
assert_equal "Hello: davidHello: Anonymous", @view.render(:partial => "test/customer", :collection => [ Customer.new("david"), nil ])
end