Index: actionpack/test/template/form_helper_test.rb =================================================================== --- actionpack/test/template/form_helper_test.rb (revision 3546) +++ actionpack/test/template/form_helper_test.rb (working copy) @@ -87,6 +87,10 @@ '', check_box("post", "secret") ) + assert_dom_equal( + '', + check_box("post", "secret", :no_hidden => true) + ) end def test_check_box_with_explicit_checked_and_unchecked_values Index: actionpack/lib/action_view/helpers/form_helper.rb =================================================================== --- actionpack/lib/action_view/helpers/form_helper.rb (revision 3546) +++ actionpack/lib/action_view/helpers/form_helper.rb (working copy) @@ -210,6 +210,8 @@ # check_box("puppy", "gooddog", {}, "yes", "no") # # + # + # You can disable generation of the hidden value by passing the option :no_hidden => true. def check_box(object_name, method, options = {}, checked_value = "1", unchecked_value = "0") InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_check_box_tag(options, checked_value, unchecked_value) end @@ -302,7 +304,11 @@ options.delete("checked") end add_default_name_and_id(options) - tag("input", options) << tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value) + if options.delete("no_hidden") + tag("input", options) + else + tag("input", options) << tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value) + end end def to_date_tag()