diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 3117fe3b1e9f925f6bea32c4cf27dab84fbc04bd..1b0f6e55b3219b2ae93ac64eb9b2f2300c4d7ec8 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,6 +1,6 @@ *SVN* -* Deprecate standalone components. [Jeremy Kemper] +* ActionView::Base.erb_variable accessor names the buffer variable used to render templates. Defaults to _erbout; use _buf for erubis. [Rick Olson] * assert_select_rjs :remove. [Dylan Egan] diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb index bf1a94591e4b7a1344df98e2bed21ed768720e26..28dc45139a9cec665ba0c0c1e3337b5c0ec038af 100644 --- a/actionpack/lib/action_controller/caching.rb +++ b/actionpack/lib/action_controller/caching.rb @@ -330,7 +330,7 @@ def fragment_cache_key(name) def cache_erb_fragment(block, name = {}, options = nil) unless perform_caching then block.call; return end - buffer = eval("_erbout", block.binding) + buffer = eval(ActionView::Base.erb_variable, block.binding) if cache = read_fragment(name, options) buffer.concat(cache) diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index 1342db058dc99ee686c0da8c6b730483c89b20fc..efd2824236a9fdf59ad9680a988f2b92764f400b 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -183,6 +183,9 @@ class Base # that alert()s the caught exception (and then re-raises it). @@debug_rjs = false cattr_accessor :debug_rjs + + @@erb_variable = '_erbout' + cattr_accessor :erb_variable @@template_handlers = HashWithIndifferentAccess.new diff --git a/actionpack/lib/action_view/helpers/capture_helper.rb b/actionpack/lib/action_view/helpers/capture_helper.rb index 497ce093ebda2e09950b6aabd3363d14d6a9ebb0..1d6ad560046e5501bb4a78d2d013dc9572cc1e74 100644 --- a/actionpack/lib/action_view/helpers/capture_helper.rb +++ b/actionpack/lib/action_view/helpers/capture_helper.rb @@ -56,15 +56,15 @@ module CaptureHelper def capture(*args, &block) # execute the block begin - buffer = eval("_erbout", block.binding) + buffer = eval(ActionView::Base.erb_variable, block.binding) rescue buffer = nil end if buffer.nil? - capture_block(*args, &block) + capture_block(*args, &block).to_s else - capture_erb_with_buffer(buffer, *args, &block) + capture_erb_with_buffer(buffer, *args, &block).to_s end end @@ -99,7 +99,7 @@ def capture_block(*args, &block) end def capture_erb(*args, &block) - buffer = eval("_erbout", block.binding) + buffer = eval(ActionView::Base.erb_variable, block.binding) capture_erb_with_buffer(buffer, *args, &block) end diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index c5b757d6e10a92bff5ac081be0abc7f3d544cb68..8f956133b7f56292920ed91dbd4c152b3752aff7 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -23,7 +23,7 @@ module TextHelper # is equivalent to using: # <%= "hello" %> def concat(string, binding) - eval("_erbout", binding).concat(string) + eval(ActionView::Base.erb_variable, binding) << string end # If +text+ is longer than +length+, +text+ will be truncated to the length of