From 31c690c7037a37a56f49cdb72fcad8954cd0fc69 Mon Sep 17 00:00:00 2001 From: Ryan Bates Date: Sat, 10 Apr 2010 11:05:42 -0700 Subject: [PATCH] fields_for returns block result when outside ERB --- actionpack/lib/action_view/helpers/form_helper.rb | 2 +- actionpack/test/template/form_helper_test.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index a3453cc..a6ac685 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -540,7 +540,7 @@ module ActionView builder = options[:builder] || ActionView::Base.default_form_builder - with_output_buffer do + capture do yield builder.new(object_name, object, self, options, block) end end diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 28a13b0..47ac911 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -1518,6 +1518,11 @@ class FormHelperTest < ActionView::TestCase assert_equal expected, output_buffer end + def test_fields_for_returns_block_result + output = fields_for(Post.new) { |f| "fields" } + assert_equal "fields", output + end + protected def comments_path(post) "/posts/#{post.id}/comments" -- 1.6.5.2