aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorDamien Mathieu <42@dmathieu.com>2012-01-06 17:14:49 +0100
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-01-27 10:06:49 -0200
commitdefb751681640e11f2187439acdaaa12ca9b805f (patch)
tree65e9d67abbca128dab776d1faedfa40da4f126ef /actionpack
parent19be5ea877a9e58e22210673d11ee8b7344c3778 (diff)
downloadrails-defb751681640e11f2187439acdaaa12ca9b805f.tar.gz
rails-defb751681640e11f2187439acdaaa12ca9b805f.tar.bz2
rails-defb751681640e11f2187439acdaaa12ca9b805f.zip
don't set the hidden checkbox value if it's nil
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb2
-rw-r--r--actionpack/test/template/form_helper_test.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index fa2ebf881c..294dee8e2a 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -1092,7 +1092,7 @@ module ActionView
else
add_default_name_and_id(options)
end
- hidden = tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value, "disabled" => options["disabled"])
+ hidden = unchecked_value ? tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value, "disabled" => options["disabled"]) : ""
checkbox = tag("input", options)
(hidden + checkbox).html_safe
end
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb
index 670cecfb9e..6e26fe752e 100644
--- a/actionpack/test/template/form_helper_test.rb
+++ b/actionpack/test/template/form_helper_test.rb
@@ -373,6 +373,14 @@ class FormHelperTest < ActionView::TestCase
)
end
+ def test_check_box_with_nil_unchecked_value
+ @post.secret = "on"
+ assert_dom_equal(
+ '<input checked="checked" id="post_secret" name="post[secret]" type="checkbox" value="on" />',
+ check_box("post", "secret", {}, "on", nil)
+ )
+ end
+
def test_check_box_with_multiple_behavior
@post.comment_ids = [2,3]
assert_dom_equal(