diff options
author | Vasiliy Ermolovich <younash@gmail.com> | 2012-05-05 20:34:06 +0300 |
---|---|---|
committer | Vasiliy Ermolovich <younash@gmail.com> | 2012-05-05 20:34:06 +0300 |
commit | e0aadf12e3e6f3e98609bcc51e2428cf3843cfd3 (patch) | |
tree | a57d1813d586e603fc1068d91ab3f86fe4e39f93 /actionpack | |
parent | acb39848ae4cfe1d22cd8a83c5db636d80c22b47 (diff) | |
download | rails-e0aadf12e3e6f3e98609bcc51e2428cf3843cfd3.tar.gz rails-e0aadf12e3e6f3e98609bcc51e2428cf3843cfd3.tar.bz2 rails-e0aadf12e3e6f3e98609bcc51e2428cf3843cfd3.zip |
check checkboxes with array of strings as :checked option
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/helpers/tags/collection_helpers.rb | 2 | ||||
-rw-r--r-- | actionpack/test/template/form_collections_helper_test.rb | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/collection_helpers.rb b/actionpack/lib/action_view/helpers/tags/collection_helpers.rb index 6a1479069f..4e33e79a36 100644 --- a/actionpack/lib/action_view/helpers/tags/collection_helpers.rb +++ b/actionpack/lib/action_view/helpers/tags/collection_helpers.rb @@ -49,7 +49,7 @@ module ActionView accept = if current_value.respond_to?(:call) current_value.call(item) else - Array(current_value).include?(value) + Array(current_value).map(&:to_s).include?(value.to_s) end if accept diff --git a/actionpack/test/template/form_collections_helper_test.rb b/actionpack/test/template/form_collections_helper_test.rb index 4d878635ef..c73e80ed88 100644 --- a/actionpack/test/template/form_collections_helper_test.rb +++ b/actionpack/test/template/form_collections_helper_test.rb @@ -195,6 +195,15 @@ class FormCollectionsHelperTest < ActionView::TestCase assert_no_select 'input[type=checkbox][value=2][checked=checked]' end + test 'collection check boxes accepts selected string values as :checked option' do + collection = (1..3).map{|i| [i, "Category #{i}"] } + with_collection_check_boxes :user, :category_ids, collection, :first, :last, :checked => ['1', '3'] + + assert_select 'input[type=checkbox][value=1][checked=checked]' + assert_select 'input[type=checkbox][value=3][checked=checked]' + assert_no_select 'input[type=checkbox][value=2][checked=checked]' + end + test 'collection check boxes accepts a single checked value' do collection = (1..3).map{|i| [i, "Category #{i}"] } with_collection_check_boxes :user, :category_ids, collection, :first, :last, :checked => 3 |