diff options
Diffstat (limited to 'actionview/lib')
-rw-r--r-- | actionview/lib/action_view/renderer/partial_renderer.rb | 14 |
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 |