diff options
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/partials.rb | 4 | ||||
-rw-r--r-- | actionpack/test/activerecord/render_partial_with_record_identification_test.rb | 3 | ||||
-rw-r--r-- | actionpack/test/controller/new_render_test.rb | 9 |
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 |