From a3eb362fcdf89671d53908bb1fc17c9baf6ed54d Mon Sep 17 00:00:00 2001 From: windock Date: Sat, 25 Sep 2010 21:43:59 +0300 Subject: [PATCH] options_for_select select boolean values correctly [#5702 state:resolved] --- .../lib/action_view/helpers/form_options_helper.rb | 2 +- .../test/template/form_options_helper_test.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/actionpack/lib/action_view/helpers/form_options_helper.rb b/actionpack/lib/action_view/helpers/form_options_helper.rb index 43cbba8..4d34b89 100644 --- a/actionpack/lib/action_view/helpers/form_options_helper.rb +++ b/actionpack/lib/action_view/helpers/form_options_helper.rb @@ -534,7 +534,7 @@ module ActionView else selected = Array.wrap(selected) options = selected.extract_options!.symbolize_keys - [ options[:selected] || selected , options[:disabled] ] + [ options.has_key?(:selected) ? options[:selected] : selected, options[:disabled]] end end diff --git a/actionpack/test/template/form_options_helper_test.rb b/actionpack/test/template/form_options_helper_test.rb index bc04398..b53312e 100644 --- a/actionpack/test/template/form_options_helper_test.rb +++ b/actionpack/test/template/form_options_helper_test.rb @@ -109,6 +109,13 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_array_options_for_select_with_selected_boolean + assert_dom_equal( + "\n", + options_for_select([true, false], :selected => false) + ) + end + def test_array_options_for_select_with_disabled_value assert_dom_equal( "\n\n", -- 1.7.0.4