aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/renderer/partial_renderer.rb
diff options
context:
space:
mode:
authorMatthew Eagar <meagar@gmail.com>2017-01-24 20:40:34 -0500
committerMatthew Eagar <meagar@gmail.com>2017-01-25 09:23:43 -0500
commite524327e510996ad741ba44c5403fe7353519e40 (patch)
tree64a0ef40a21c0bef7beff4da42f81c6bac941ab3 /actionview/lib/action_view/renderer/partial_renderer.rb
parent6363fa1a6f9ef43b3e89e8cf5873617e851414d4 (diff)
downloadrails-e524327e510996ad741ba44c5403fe7353519e40.tar.gz
rails-e524327e510996ad741ba44c5403fe7353519e40.tar.bz2
rails-e524327e510996ad741ba44c5403fe7353519e40.zip
Add partial iteration variable to template keys
When rendering heterogeneous collection using `render @collection` or `render partial: @collection`, the expected `<partial_name>_iteration` variable is missing due to `find_template` not having the name of the iteration variable included in its cache keys.
Diffstat (limited to 'actionview/lib/action_view/renderer/partial_renderer.rb')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/actionview/lib/action_view/renderer/partial_renderer.rb b/actionview/lib/action_view/renderer/partial_renderer.rb
index 2bb4465131..647b15ea94 100644
--- a/actionview/lib/action_view/renderer/partial_renderer.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer.rb
@@ -458,7 +458,7 @@ module ActionView
locals[counter] = index
locals[iteration] = partial_iteration
- template = (cache[path] ||= find_template(path, keys + [as, counter]))
+ template = (cache[path] ||= find_template(path, keys + [as, counter, iteration]))
content = template.render(view, locals)
partial_iteration.iterate!
content