diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-01-05 12:21:34 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-01-06 10:54:21 -0200 |
commit | 115a37d9c1b2d8868a188a23528e3397f6761971 (patch) | |
tree | 32db7cec7ae538569fba963351de60444f4753bb /actionpack/test/template | |
parent | 94ecbb7e7bb70e56137df2e275e564fa4b5bc6fb (diff) | |
download | rails-115a37d9c1b2d8868a188a23528e3397f6761971.tar.gz rails-115a37d9c1b2d8868a188a23528e3397f6761971.tar.bz2 rails-115a37d9c1b2d8868a188a23528e3397f6761971.zip |
Do not call fields_for from form_for, to avoid instantiating two builders
Diffstat (limited to 'actionpack/test/template')
-rw-r--r-- | actionpack/test/template/form_helper_test.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index c730e3ab74..5e47e4db23 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -1171,7 +1171,6 @@ class FormHelperTest < ActionView::TestCase assert_dom_equal expected, output_buffer end - def test_form_for_with_format form_for(@post, :format => :json, :html => { :id => "edit_post_123", :class => "edit_post" }) do |f| concat f.label(:title) @@ -2693,6 +2692,19 @@ class FormHelperTest < ActionView::TestCase end end + def test_form_for_only_instantiates_builder_once + initialization_count = 0 + builder_class = Class.new(ActionView::Helpers::FormBuilder) do + define_method :initialize do |*args| + super(*args) + initialization_count += 1 + end + end + + form_for(@post, builder: builder_class) { } + assert_equal 1, initialization_count, 'form builder instantiated more than once' + end + protected def hidden_fields(method = nil) |