Permalink
Browse files

check_box helper with :disabled => true generates disabled hidden fie…

…ld. fixes #1953
  • Loading branch information...
Tadas Tamošauskas authored and carlosantoniodasilva committed Jan 5, 2012
1 parent 1c5bd8a commit 19be5ea877a9e58e22210673d11ee8b7344c3778
View
@@ -32,6 +32,10 @@
* Rails initialization with initialize_on_precompile = false should set assets_dir *Santiago Pastorino*
+* check_box helper with :disabled => true will generate a disabled hidden field to conform with the HTML convention where disabled fields are not submitted with the form.
+ This is a behavior change, previously the hidden tag had a value of the disabled checkbox.
+ *Tadas Tamosauskas*
+
* Add font_path helper method *Santiago Pastorino*
* Depends on rack ~> 1.4.0 *Santiago Pastorino*
@@ -1092,7 +1092,7 @@ def to_check_box_tag(options = {}, checked_value = "1", unchecked_value = "0")
else
add_default_name_and_id(options)
end
- hidden = tag("input", "name" => options["name"], "type" => "hidden", "value" => options['disabled'] && checked ? checked_value : unchecked_value)
+ hidden = tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value, "disabled" => options["disabled"])
checkbox = tag("input", options)
(hidden + checkbox).html_safe
end
@@ -385,11 +385,10 @@ def test_check_box_with_multiple_behavior
)
end
-
- def test_checkbox_disabled_still_submits_checked_value
+ def test_checkbox_disabled_disables_hidden_field
assert_dom_equal(
- '<input name="post[secret]" type="hidden" value="1" /><input checked="checked" disabled="disabled" id="post_secret" name="post[secret]" type="checkbox" value="1" />',
- check_box("post", "secret", { :disabled => :true })
+ '<input name="post[secret]" type="hidden" value="0" disabled="disabled"/><input checked="checked" disabled="disabled" id="post_secret" name="post[secret]" type="checkbox" value="1" />',
+ check_box("post", "secret", { :disabled => true })
)
end

0 comments on commit 19be5ea

Please sign in to comment.