diff options
author | José Valim <jose.valim@gmail.com> | 2012-01-22 06:09:35 -0800 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2012-01-22 06:09:35 -0800 |
commit | 334e5cab2a999ef246ae0c31d0b939ef185cfe63 (patch) | |
tree | c43bd349394a46b5e206b7d8018febeee8c0165b /actionpack | |
parent | 9ab290482284afbdc6830d84b33da03069073d4a (diff) | |
parent | c6dcc3537c09829cbbb15a6e9b133ab0bcd93988 (diff) | |
download | rails-334e5cab2a999ef246ae0c31d0b939ef185cfe63.tar.gz rails-334e5cab2a999ef246ae0c31d0b939ef185cfe63.tar.bz2 rails-334e5cab2a999ef246ae0c31d0b939ef185cfe63.zip |
Merge pull request #4604 from ihid/3-2-stable
3-2-stable: Fixed regression - unable to use a range as choices for form.select.
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/helpers/form_options_helper.rb | 1 | ||||
-rw-r--r-- | actionpack/test/template/form_options_helper_test.rb | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/helpers/form_options_helper.rb b/actionpack/lib/action_view/helpers/form_options_helper.rb index 3ee0d8ebc5..0dd4b19573 100644 --- a/actionpack/lib/action_view/helpers/form_options_helper.rb +++ b/actionpack/lib/action_view/helpers/form_options_helper.rb @@ -578,6 +578,7 @@ module ActionView def to_select_tag(choices, options, html_options) selected_value = options.has_key?(:selected) ? options[:selected] : value(object) + choices = choices.to_a if choices.is_a?(Range) # Grouped choices look like this: # diff --git a/actionpack/test/template/form_options_helper_test.rb b/actionpack/test/template/form_options_helper_test.rb index 4a889beadd..62ab208c2e 100644 --- a/actionpack/test/template/form_options_helper_test.rb +++ b/actionpack/test/template/form_options_helper_test.rb @@ -159,6 +159,13 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_range_options_for_select + assert_dom_equal( + "<option value=\"1\">1</option>\n<option value=\"2\">2</option>\n<option value=\"3\">3</option>", + options_for_select(1..3) + ) + end + def test_hash_options_for_select assert_dom_equal( "<option value=\"<Kroner>\"><DKR></option>\n<option value=\"Dollar\">$</option>", @@ -671,6 +678,15 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_select_with_range + @post = Post.new + @post.category = 0 + assert_dom_equal( + "<select id=\"post_category\" name=\"post[category]\"><option value=\"1\">1</option>\n<option value=\"2\">2</option>\n<option value=\"3\">3</option></select>", + select("post", "category", 1..3) + ) + end + def test_collection_select @post = Post.new @post.author_name = "Babe" |