aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_view/partials.rb4
-rw-r--r--actionpack/test/activerecord/render_partial_with_record_identification_test.rb3
-rw-r--r--actionpack/test/controller/new_render_test.rb9
4 files changed, 16 insertions, 2 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 8817688392..166b2319ff 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Fix problem with render :partial collections, records, and locals. #11057 [lotswholetime]
+
* Added support for naming concrete classes in sweeper declarations [DHH]
* Remove ERB trim variables from trace template in case ActionView::Base.erb_trim_mode is changed in the application. #10098 [tpope, kampers]
diff --git a/actionpack/lib/action_view/partials.rb b/actionpack/lib/action_view/partials.rb
index a945e9907d..e2aa98a319 100644
--- a/actionpack/lib/action_view/partials.rb
+++ b/actionpack/lib/action_view/partials.rb
@@ -127,14 +127,14 @@ module ActionView
if partial_path.any?
path = ActionController::RecordIdentifier.partial_path(partial_path.first)
collection = partial_path
- render_partial_collection(path, collection, nil, object_assigns.value)
+ render_partial_collection(path, collection, nil, local_assigns)
else
""
end
else
render_partial(
ActionController::RecordIdentifier.partial_path(partial_path),
- object_assigns, local_assigns)
+ partial_path, local_assigns)
end
end
diff --git a/actionpack/test/activerecord/render_partial_with_record_identification_test.rb b/actionpack/test/activerecord/render_partial_with_record_identification_test.rb
index 1cfd2a2354..773018d445 100644
--- a/actionpack/test/activerecord/render_partial_with_record_identification_test.rb
+++ b/actionpack/test/activerecord/render_partial_with_record_identification_test.rb
@@ -34,6 +34,7 @@ class RenderPartialWithRecordIdentificationTest < ActiveRecordTestCase
render :partial => @developers
end
end
+ RenderPartialWithRecordIdentificationController.view_paths = [ File.dirname(__FILE__) + "/../fixtures/" ]
def setup
@controller = RenderPartialWithRecordIdentificationController.new
@@ -58,8 +59,10 @@ class RenderPartialWithRecordIdentificationTest < ActiveRecordTestCase
end
def test_rendering_partial_with_belongs_to_association
+ topic = Reply.find(1).topic
get :render_with_belongs_to_association
assert_template 'topics/_topic'
+ assert_equal topic.title, @response.body
end
def test_render_with_record
diff --git a/actionpack/test/controller/new_render_test.rb b/actionpack/test/controller/new_render_test.rb
index d3f5ccf4aa..4d62647e8b 100644
--- a/actionpack/test/controller/new_render_test.rb
+++ b/actionpack/test/controller/new_render_test.rb
@@ -151,6 +151,10 @@ class NewRenderTestController < ActionController::Base
render :partial => "customer_greeting", :collection => [ Customer.new("david"), Customer.new("mary") ], :locals => { :greeting => "Bonjour" }
end
+ def partial_collection_shorthand_with_locals
+ render :partial => [ Customer.new("david"), Customer.new("mary") ], :locals => { :greeting => "Bonjour" }
+ end
+
def empty_partial_collection
render :partial => "customer", :collection => []
end
@@ -708,6 +712,11 @@ EOS
assert_equal "Bonjour: davidBonjour: mary", @response.body
end
+ def test_partial_collection_shorthand_with_locals
+ get :partial_collection_shorthand_with_locals
+ assert_equal "Bonjour: davidBonjour: mary", @response.body
+ end
+
def test_empty_partial_collection
get :empty_partial_collection
assert_equal " ", @response.body