public
Description: Ruby on Rails
Homepage: http://rubyonrails.org
Clone URL: git://github.com/rails/rails.git
Register 'checked' as an HTML boolean attribute.

This way, 'tag :foo, :type => "checkbox", :checked => false' would output
the expected

  <input type="checkbox" />

instead of the old

  <input type="checkbox" checked="false" />

The latter would result in a checkbox that's initially checked.

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Hongli Lai (Phusion) (author)
Tue Nov 18 11:45:55 -0800 2008
jeremy (committer)
Tue Nov 18 11:50:31 -0800 2008
commit  337c361e26fe5647036f94556fe792535a921f93
tree    b584abbf5c02f7ad0b9f138ed75771c98721129b
parent  19e9a1f47db89fc94b1c1f0e8bd533c9e925f4d1
...
9
10
11
12
 
13
14
15
...
9
10
11
 
12
13
14
15
0
@@ -9,7 +9,7 @@ module ActionView
0
     module TagHelper
0
       include ERB::Util
0
 
0
-      BOOLEAN_ATTRIBUTES = %w(disabled readonly multiple).to_set
0
+      BOOLEAN_ATTRIBUTES = %w(disabled readonly multiple checked).to_set
0
       BOOLEAN_ATTRIBUTES.merge(BOOLEAN_ATTRIBUTES.map(&:to_sym))
0
 
0
       # Returns an empty HTML tag of type +name+ which by default is XHTML
...
238
239
240
 
241
242
243
...
238
239
240
241
242
243
244
0
@@ -238,6 +238,7 @@ class FormTagHelperTest < ActionView::TestCase
0
   def test_boolean_options
0
     assert_dom_equal %(<input checked="checked" disabled="disabled" id="admin" name="admin" readonly="readonly" type="checkbox" value="1" />), check_box_tag("admin", 1, true, 'disabled' => true, :readonly => "yes")
0
     assert_dom_equal %(<input checked="checked" id="admin" name="admin" type="checkbox" value="1" />), check_box_tag("admin", 1, true, :disabled => false, :readonly => nil)
0
+    assert_dom_equal %(<input type="checkbox" />), tag(:input, :type => "checkbox", :checked => false)
0
     assert_dom_equal %(<select id="people" multiple="multiple" name="people[]"><option>david</option></select>), select_tag("people", "<option>david</option>", :multiple => true)
0
     assert_dom_equal %(<select id="people_" multiple="multiple" name="people[]"><option>david</option></select>), select_tag("people[]", "<option>david</option>", :multiple => true)
0
     assert_dom_equal %(<select id="people" name="people"><option>david</option></select>), select_tag("people", "<option>david</option>", :multiple => nil)

Comments