aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-03-26 15:34:22 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-03-26 15:34:22 -0700
commitde9c0ef8eff8bd9c92332b4b854772519b4ef7b9 (patch)
tree6a534e062c2dde6d238c4c6bf8ce2cd532190968 /actionpack
parent045197f40eb33250bd07357b160f150cfa7515d1 (diff)
parent7a0cf2f5294e8bcef547642435636b394340a3e4 (diff)
downloadrails-de9c0ef8eff8bd9c92332b4b854772519b4ef7b9.tar.gz
rails-de9c0ef8eff8bd9c92332b4b854772519b4ef7b9.tar.bz2
rails-de9c0ef8eff8bd9c92332b4b854772519b4ef7b9.zip
Merge pull request #5561 from carlosantoniodasilva/form-builder-block-arg
Properly deprecate the block argument in AV FormBuilder
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb12
-rw-r--r--actionpack/test/template/form_helper_test.rb12
2 files changed, 21 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index 43d5cf1471..6219a7a924 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -9,6 +9,7 @@ require 'active_support/core_ext/hash/slice'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/string/output_safety'
require 'active_support/core_ext/array/extract_options'
+require 'active_support/deprecation'
module ActionView
# = Action View Form Helpers
@@ -22,7 +23,7 @@ module ActionView
# being routed to the appropriate controller action (with the appropriate <tt>:id</tt>
# parameter in the case of an existing resource), (ii) input fields should
# be named in such a way that in the controller their values appear in the
- # appropriate places within the +params+ hash, and (iii) for an existing record,
+ # appropriate places within the +params+ hash, and (iii) for an existing record,
# when the form is initially displayed, input fields corresponding to attributes
# of the resource should show the current values of those attributes.
#
@@ -156,7 +157,7 @@ module ActionView
# if <tt>:person</tt> also happens to be the name of an instance variable
# <tt>@person</tt>, the default value of the field shown when the form is
# initially displayed (e.g. in the situation where you are editing an
- # existing record) will be the value of the corresponding attribute of
+ # existing record) will be the value of the corresponding attribute of
# <tt>@person</tt>.
#
# The rightmost argument to +form_for+ is an
@@ -1057,7 +1058,12 @@ module ActionView
self
end
- def initialize(object_name, object, template, options)
+ def initialize(object_name, object, template, options, block=nil)
+ if block
+ ActiveSupport::Deprecation.warn(
+ "Giving a block to FormBuilder is deprecated and has no effect anymore.")
+ end
+
@nested_child_index = {}
@object_name, @object, @template, @options = object_name, object, template, options
@parent_builder = options[:parent_builder]
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb
index c5de736ffb..3b1af47770 100644
--- a/actionpack/test/template/form_helper_test.rb
+++ b/actionpack/test/template/form_helper_test.rb
@@ -2231,6 +2231,18 @@ class FormHelperTest < ActionView::TestCase
assert_equal "fields", output
end
+ def test_form_builder_block_argument_deprecation
+ builder_class = Class.new(ActionView::Helpers::FormBuilder) do
+ def initialize(object_name, object, template, options, block)
+ super
+ end
+ end
+
+ assert_deprecated /Giving a block to FormBuilder is deprecated and has no effect anymore/ do
+ builder_class.new(:foo, nil, nil, {}, proc {})
+ end
+ end
+
protected
def hidden_fields(method = nil)