Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #3313: radio_button_generates_unique_id_with_negative_values.diff

File radio_button_generates_unique_id_with_negative_values.diff, 1.6 kB (added by BobSilva, 3 years ago)

Radio buttons will now generate unique ids with negative values

  • actionpack/test/template/form_helper_test.rb

    old new  
    109109  def test_radio_button_is_checked_with_integers 
    110110    assert_dom_equal('<input checked="checked" id="post_secret_1" name="post[secret]" type="radio" value="1" />', 
    111111      radio_button("post", "secret", "1") 
    112    ) 
     112    ) 
     113    assert_dom_equal('<input checked="checked" id="post_secret_1" name="post[secret]" type="radio" value="1" />', 
     114      radio_button("post", "secret", 1) 
     115    ) 
     116    assert_dom_equal('<input id="post_secret_-1" name="post[secret]" type="radio" value="-1" />', 
     117      radio_button("post", "secret", -1) 
     118    ) 
    113119  end 
    114120 
    115121  def test_text_area 
  • actionpack/lib/action_view/helpers/form_helper.rb

    old new  
    257257        options["type"]     = "radio" 
    258258        options["value"]    = tag_value 
    259259        options["checked"]  = "checked" if value.to_s == tag_value.to_s 
    260         pretty_tag_value    = tag_value.to_s.gsub(/\s/, "_").gsub(/\W/, "").downcase 
     260        pretty_tag_value    = tag_value.to_s.gsub(/\s/, "_").gsub(/(?!-)\W/, "").downcase 
    261261        options["id"]       = @auto_index ?              
    262262          "#{@object_name}_#{@auto_index}_#{@method_name}_#{pretty_tag_value}" : 
    263263          "#{@object_name}_#{@method_name}_#{pretty_tag_value}"