From 780151c01e7e2d953f2701c2b931a1b33e4b88ca Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 3 Feb 2008 01:11:42 +0000 Subject: Fix missing extension for caching. Closes #10733 [Catfish, tcoppock, mpalmer] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8791 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_view/base.rb | 2 ++ actionpack/lib/action_view/helpers/cache_helper.rb | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index cb53fbafc8..b362bb9555 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -158,6 +158,7 @@ module ActionView #:nodoc: attr_internal :cookies, :flash, :headers, :params, :request, :response, :session attr_writer :template_format + attr_accessor :current_render_extension # Specify trim mode for the ERB compiler. Defaults to '-'. # See ERb documentation for suitable values. @@ -358,6 +359,7 @@ If you are rendering a subtemplate, you must now use controller-like partial syn # The hash in local_assigns is made available as local variables. def render_template(template_extension, template, file_path = nil, local_assigns = {}) #:nodoc: handler = self.class.handler_class_for_extension(template_extension).new(self) + @current_render_extension = template_extension if handler.compilable? compile_and_render_template(handler, template, file_path, local_assigns) diff --git a/actionpack/lib/action_view/helpers/cache_helper.rb b/actionpack/lib/action_view/helpers/cache_helper.rb index aa85b9fb40..c2aab5aa72 100644 --- a/actionpack/lib/action_view/helpers/cache_helper.rb +++ b/actionpack/lib/action_view/helpers/cache_helper.rb @@ -32,8 +32,7 @@ module ActionView # Topics listed alphabetically # <% end %> def cache(name = {}, options = nil, &block) - template_extension = @finder.pick_template_extension(first_render)[/\.?(\w+)$/, 1].to_sym - handler = Base.handler_class_for_extension(template_extension) + handler = Base.handler_class_for_extension(current_render_extension.to_sym) handler.new(@controller).cache_fragment(block, name, options) end end -- cgit v1.2.3