aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaseem Ahmad <talk.to.waseem@gmail.com>2011-11-04 15:03:02 +0530
committerWaseem Ahmad <talk.to.waseem@gmail.com>2011-11-04 15:03:02 +0530
commit56207a3f0165650abb273594f1f54fbb92bbf177 (patch)
tree950901d47f8ea412f941bc2479733139bf07823d
parent533a9f84b035756eedf9fdccf0c494dc9701ba72 (diff)
downloadrails-56207a3f0165650abb273594f1f54fbb92bbf177.tar.gz
rails-56207a3f0165650abb273594f1f54fbb92bbf177.tar.bz2
rails-56207a3f0165650abb273594f1f54fbb92bbf177.zip
Remove 'size' attribute from number_field form helper fixes #3454
f.number_field generates <input type="number", size="30"../> which is invalid HTML5. See: http://dev.w3.org/html5/spec/Overview.html#number-state
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb2
-rw-r--r--actionpack/test/template/form_helper_test.rb4
2 files changed, 4 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index f22c466666..5c10b67586 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -1027,6 +1027,8 @@ module ActionView
def to_number_field_tag(field_type, options = {})
options = options.stringify_keys
+ options['size'] ||= nil
+
if range = options.delete("in") || options.delete("within")
options.update("min" => range.min, "max" => range.max)
end
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb
index e36d032f6c..bd7b322fc9 100644
--- a/actionpack/test/template/form_helper_test.rb
+++ b/actionpack/test/template/form_helper_test.rb
@@ -438,12 +438,12 @@ class FormHelperTest < ActionView::TestCase
end
def test_number_field
- expected = %{<input name="order[quantity]" size="30" max="9" id="order_quantity" type="number" min="1" />}
+ expected = %{<input name="order[quantity]" max="9" id="order_quantity" type="number" min="1" />}
assert_dom_equal(expected, number_field("order", "quantity", :in => 1...10))
end
def test_range_input
- expected = %{<input name="hifi[volume]" step="0.1" size="30" max="11" id="hifi_volume" type="range" min="0" />}
+ expected = %{<input name="hifi[volume]" step="0.1" max="11" id="hifi_volume" type="range" min="0" />}
assert_dom_equal(expected, range_field("hifi", "volume", :in => 0..11, :step => 0.1))
end