From 2de364636c06487faf48cbf9198bccd90a02eaf8 Mon Sep 17 00:00:00 2001 From: Jeff Kreeftmeijer Date: Sat, 15 May 2010 14:06:39 +0200 Subject: [PATCH] partial counters with :as [#2804 state:resolved] Signed-off-by: Jeremy Kemper --- actionpack/lib/action_view/partials.rb | 1 + actionpack/test/controller/render_test.rb | 9 +++++++++ .../test/fixtures/test/_customer_counter_with_as.erb | 1 + 3 files changed, 11 insertions(+) create mode 100644 actionpack/test/fixtures/test/_customer_counter_with_as.erb diff --git a/actionpack/lib/action_view/partials.rb b/actionpack/lib/action_view/partials.rb index 2dfd267f0759b..02c4e9fac08c1 100644 --- a/actionpack/lib/action_view/partials.rb +++ b/actionpack/lib/action_view/partials.rb @@ -218,6 +218,7 @@ def render_partial_collection(options = {}) #:nodoc: ActionController::RecordIdentifier.partial_path(object, controller.class.controller_path) template = _pick_partial_template(_partial_path) local_assigns[template.counter_name] = index + local_assigns["#{as.to_s}_counter".to_sym] = local_assigns[template.counter_name] result = template.render_partial(self, object, local_assigns.dup, as) index += 1 result diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb index 331683e985f81..42f776c76dae2 100644 --- a/actionpack/test/controller/render_test.rb +++ b/actionpack/test/controller/render_test.rb @@ -652,6 +652,10 @@ def partial_collection_with_counter render :partial => "customer_counter", :collection => [ Customer.new("david"), Customer.new("mary") ] end + def partial_collection_with_as_and_counter + render :partial => "customer_counter_with_as", :collection => [ Customer.new("david"), Customer.new("mary") ], :as => :client + end + def partial_collection_with_locals render :partial => "customer_greeting", :collection => [ Customer.new("david"), Customer.new("mary") ], :locals => { :greeting => "Bonjour" } end @@ -1470,6 +1474,11 @@ def test_partial_collection_with_counter assert_equal "david0mary1", @response.body end + def test_partial_collection_with_as_and_counter + get :partial_collection_with_as_and_counter + assert_equal "david0mary1", @response.body + end + def test_partial_collection_with_locals get :partial_collection_with_locals assert_equal "Bonjour: davidBonjour: mary", @response.body diff --git a/actionpack/test/fixtures/test/_customer_counter_with_as.erb b/actionpack/test/fixtures/test/_customer_counter_with_as.erb new file mode 100644 index 0000000000000..1241eb604d454 --- /dev/null +++ b/actionpack/test/fixtures/test/_customer_counter_with_as.erb @@ -0,0 +1 @@ +<%= client.name %><%= client_counter %> \ No newline at end of file