aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
authorChristopher Meiklejohn <christopher.meiklejohn@gmail.com>2011-06-07 22:36:51 -0400
committerChristopher Meiklejohn <christopher.meiklejohn@gmail.com>2011-06-07 22:36:51 -0400
commit823aa223efbac6ad4d31ea33402892267bb77cb4 (patch)
tree5bf8d4df65ccdd703007307312e089348619ea9f /actionpack/lib/action_view
parent1300c034775a5d52ad9141fdf5bbdbb9159df96a (diff)
downloadrails-823aa223efbac6ad4d31ea33402892267bb77cb4.tar.gz
rails-823aa223efbac6ad4d31ea33402892267bb77cb4.tar.bz2
rails-823aa223efbac6ad4d31ea33402892267bb77cb4.zip
Fragment caching needs to operate on the pure output, not the
safebuffer.
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r--actionpack/lib/action_view/helpers/cache_helper.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/cache_helper.rb b/actionpack/lib/action_view/helpers/cache_helper.rb
index e81d03b537..d070f14af1 100644
--- a/actionpack/lib/action_view/helpers/cache_helper.rb
+++ b/actionpack/lib/action_view/helpers/cache_helper.rb
@@ -51,7 +51,9 @@ module ActionView
# This dance is needed because Builder can't use capture
pos = output_buffer.length
yield
- fragment = output_buffer.slice!(pos..-1)
+ safe_output_buffer = output_buffer.to_str
+ fragment = safe_output_buffer.slice!(pos..-1)
+ self.output_buffer = ActionView::OutputBuffer.new(safe_output_buffer)
controller.write_fragment(name, fragment, options)
end
end