ActionView::Base.erb_variable accessor names the buffer variable used to render templates. Defaults to _erbout; use _buf for erubis.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5544 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper
2006-11-17 13:10:23 +00:00
parent 495f113e57
commit 96cca7db6d
5 changed files with 10 additions and 7 deletions

View File

@@ -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]

View File

@@ -330,7 +330,7 @@ module ActionController #:nodoc:
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)

View File

@@ -183,6 +183,9 @@ module ActionView #:nodoc:
# 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

View File

@@ -56,15 +56,15 @@ module ActionView
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 @@ module ActionView
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

View File

@@ -23,7 +23,7 @@ module ActionView
# 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