mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Stack @output_buffer for nested rendering
This commit is contained in:
@@ -106,7 +106,7 @@ module ActionView
|
||||
locals_code << "#{key} = local_assigns[:#{key}]\n"
|
||||
end
|
||||
|
||||
"def #{render_symbol}(local_assigns)\n#{locals_code}#{body}\nend"
|
||||
"def #{render_symbol}(local_assigns)\nold_output_buffer = @output_buffer;#{locals_code}#{body}\nensure\n@output_buffer = old_output_buffer\nend"
|
||||
end
|
||||
|
||||
# Return true if the given template was compiled for a superset of the keys in local_assigns
|
||||
@@ -125,4 +125,4 @@ module ActionView
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -512,7 +512,7 @@ class FragmentCachingTest < Test::Unit::TestCase
|
||||
|
||||
def test_cache_erb_fragment
|
||||
@store.write('views/expensive', 'fragment content')
|
||||
@controller.template.output_buffer = 'generated till now -> '
|
||||
@controller.response.template.output_buffer = 'generated till now -> '
|
||||
|
||||
assert_equal( 'generated till now -> fragment content',
|
||||
ActionView::TemplateHandlers::ERB.new(@controller).cache_fragment(Proc.new{ }, 'expensive'))
|
||||
|
||||
Reference in New Issue
Block a user