Skip to content

Commit 6610ef2

Browse files
committed
add format and varaiant to cache_digest
1 parent b57d125 commit 6610ef2

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

lib/view_component/base.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def render_in(view_context, &block)
118118
if render?
119119
rendered_template = render_template_for(@__vc_variant, __vc_request&.format&.to_sym).to_s
120120
if respond_to?(:__vc_render_cacheable)
121-
__vc_render_cacheable(rendered_template, @__vc_variant, __vc_request&.format&.to_sym)
121+
__vc_render_cacheable(rendered_template)
122122
else
123123
__vc_render_template(rendered_template)
124124
end
@@ -309,6 +309,13 @@ def __vc_request
309309
@__vc_request ||= controller.request if controller.respond_to?(:request)
310310
end
311311

312+
# Fo use in caching
313+
#
314+
# @private
315+
def __vc_format
316+
__vc_request&.format&.to_sym
317+
end
318+
312319
# The content passed to the component instance as a block.
313320
#
314321
# @return [String]

lib/view_component/cacheable.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module ViewComponent::Cacheable
44
extend ActiveSupport::Concern
55

66
included do
7-
class_attribute :__vc_cache_dependencies, default: []
7+
class_attribute :__vc_cache_dependencies, default: [:format, :__vc_format]
88

99
# For caching, such as #cache_if
1010
#
@@ -18,9 +18,8 @@ def view_cache_dependencies
1818
# Render component from cache if possible
1919
#
2020
# @private
21-
def __vc_render_cacheable(rendered_template, variant = nil, format = nil)
22-
if view_cache_dependencies.present?
23-
view_cache_dependencies = view_cache_dependencies + [variant, format]
21+
def __vc_render_cacheable(rendered_template)
22+
if view_cache_dependencies != [:format, :__vc_format]
2423
Rails.cache.fetch(view_cache_dependencies) do
2524
__vc_render_template(rendered_template)
2625
end

0 commit comments

Comments
 (0)