aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/renderer
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@github.com>2019-02-13 11:21:57 -0800
committerGitHub <noreply@github.com>2019-02-13 11:21:57 -0800
commitaf6ade0cfd09e3d3d9ebd304a2afae4d60a044dc (patch)
tree38fc87664f5bfcabfb9cac7cf9f57e0c083228bd /actionview/lib/action_view/renderer
parentb4dd69e59b3cb5c34bd58339d5b9a749e2cd82f3 (diff)
parentbfcdd46614407d6bf1c955aad6ed4aa3094d2189 (diff)
downloadrails-af6ade0cfd09e3d3d9ebd304a2afae4d60a044dc.tar.gz
rails-af6ade0cfd09e3d3d9ebd304a2afae4d60a044dc.tar.bz2
rails-af6ade0cfd09e3d3d9ebd304a2afae4d60a044dc.zip
Merge pull request #35253 from rails/cached-collections-must-have-a-template
Cached collections only work if there is one template
Diffstat (limited to 'actionview/lib/action_view/renderer')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/actionview/lib/action_view/renderer/partial_renderer.rb b/actionview/lib/action_view/renderer/partial_renderer.rb
index 800a62eaa1..f8a6f13ae9 100644
--- a/actionview/lib/action_view/renderer/partial_renderer.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer.rb
@@ -308,6 +308,9 @@ module ActionView
template = find_partial(@path, @template_keys)
@variable ||= template.variable
else
+ if options[:cached]
+ raise NotImplementedError, "render caching requires a template. Please specify a partial when rendering"
+ end
template = nil
end
@@ -337,9 +340,14 @@ module ActionView
spacer = find_template(@options[:spacer_template], @locals.keys).render(view, @locals)
end
- cache_collection_render(payload, view, template) do
- template ? collection_with_template(view, template) : collection_without_template(view)
- end.join(spacer).html_safe
+ collection_body = if template
+ cache_collection_render(payload, view, template) do
+ collection_with_template(view, template)
+ end
+ else
+ collection_without_template(view)
+ end
+ collection_body.join(spacer).html_safe
end
end