diff options
author | Neeraj Singh <neerajdotname@gmail.com> | 2010-06-12 23:00:10 -0400 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-06-13 13:56:08 +0200 |
commit | e574ca920d315158a4af5c906b23ea0082c5690f (patch) | |
tree | 31db1d3d38c9d47b7a090e9f6eacdce022393aa2 | |
parent | b514b4d6962f3bb04062a900b15d2db118fa20ab (diff) | |
download | rails-e574ca920d315158a4af5c906b23ea0082c5690f.tar.gz rails-e574ca920d315158a4af5c906b23ea0082c5690f.tar.bz2 rails-e574ca920d315158a4af5c906b23ea0082c5690f.zip |
render(:inline) in a layout before yield replaces original content
[#4777 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
-rw-r--r-- | actionpack/lib/action_view/render/rendering.rb | 2 | ||||
-rw-r--r-- | actionpack/test/fixtures/layouts/yield_with_render_inline_inside.erb | 2 | ||||
-rw-r--r-- | actionpack/test/template/render_test.rb | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/render/rendering.rb b/actionpack/lib/action_view/render/rendering.rb index 4198013f57..4d35296932 100644 --- a/actionpack/lib/action_view/render/rendering.rb +++ b/actionpack/lib/action_view/render/rendering.rb @@ -56,7 +56,7 @@ module ActionView :identifier => template.identifier, :layout => layout.try(:virtual_path)) do content = template.render(self, locals) { |*name| _layout_for(*name) } - @_content_for[:layout] = content + @_content_for[:layout] = content if layout content = _render_layout(layout, locals) if layout content diff --git a/actionpack/test/fixtures/layouts/yield_with_render_inline_inside.erb b/actionpack/test/fixtures/layouts/yield_with_render_inline_inside.erb new file mode 100644 index 0000000000..7298d79690 --- /dev/null +++ b/actionpack/test/fixtures/layouts/yield_with_render_inline_inside.erb @@ -0,0 +1,2 @@ +<%= render :inline => 'welcome' %> +<%= yield %> diff --git a/actionpack/test/template/render_test.rb b/actionpack/test/template/render_test.rb index aca96e0a24..059dcedad8 100644 --- a/actionpack/test/template/render_test.rb +++ b/actionpack/test/template/render_test.rb @@ -229,6 +229,12 @@ module RenderTestCases @view.render(:file => "test/hello_world.erb", :layout => "layouts/yield") end + def test_render_with_layout_which_has_render_inline + assert_equal %(welcome\nHello world!\n), + @view.render(:file => "test/hello_world.erb", :layout => "layouts/yield_with_render_inline_inside") + end + + # TODO: Move to deprecated_tests.rb def test_render_with_nested_layout_deprecated assert_deprecated do |