aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib')
-rw-r--r--actionview/lib/action_view/base.rb1
-rw-r--r--actionview/lib/action_view/helpers/cache_helper.rb6
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer.rb2
3 files changed, 6 insertions, 3 deletions
diff --git a/actionview/lib/action_view/base.rb b/actionview/lib/action_view/base.rb
index 37f0dd1ee4..1808553239 100644
--- a/actionview/lib/action_view/base.rb
+++ b/actionview/lib/action_view/base.rb
@@ -202,6 +202,7 @@ module ActionView #:nodoc:
@view_renderer = ActionView::Renderer.new(lookup_context)
end
+ @cache_hit = {}
assign(assigns)
assign_controller(controller)
_prepare_context
diff --git a/actionview/lib/action_view/helpers/cache_helper.rb b/actionview/lib/action_view/helpers/cache_helper.rb
index c3aecadcd6..dfa0956fe2 100644
--- a/actionview/lib/action_view/helpers/cache_helper.rb
+++ b/actionview/lib/action_view/helpers/cache_helper.rb
@@ -235,11 +235,13 @@ module ActionView
end
def fragment_for(name = {}, options = nil, &block)
+ # Some tests might using this helper without initialize actionview object
+ @cache_hit ||= {}
if content = read_fragment_for(name, options)
- @cache_hit = true
+ @cache_hit[@virtual_path] = true
content
else
- @cache_hit = false
+ @cache_hit[@virtual_path] = false
write_fragment_for(name, options, &block)
end
end
diff --git a/actionview/lib/action_view/renderer/partial_renderer.rb b/actionview/lib/action_view/renderer/partial_renderer.rb
index 647b15ea94..797db34fb8 100644
--- a/actionview/lib/action_view/renderer/partial_renderer.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer.rb
@@ -344,7 +344,7 @@ module ActionView
end
content = layout.render(view, locals) { content } if layout
- payload[:cache_hit] = view.cache_hit
+ payload[:cache_hit] = !!view.cache_hit[@template.virtual_path]
content
end
end