aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-10-20 12:43:03 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-10-20 12:43:03 -0700
commit3be9e8a0c2187744b6c9879ca2836cef5ebed693 (patch)
treee009c38c5efcbd4f88e9f420863de55e27052441
parent4ed156336faaa378e0329f4e96c3f4c30ddaee09 (diff)
parent3ee6bcfc3d3e7be0dd3b76ac929500aaf031f8f9 (diff)
downloadrails-3be9e8a0c2187744b6c9879ca2836cef5ebed693.tar.gz
rails-3be9e8a0c2187744b6c9879ca2836cef5ebed693.tar.bz2
rails-3be9e8a0c2187744b6c9879ca2836cef5ebed693.zip
Merge pull request #8002 from nashby/checkbox-include
check_box value can be not only an object of Array class
-rw-r--r--actionpack/lib/action_view/helpers/tags/check_box.rb8
-rw-r--r--actionpack/test/template/form_helper_test.rb6
2 files changed, 11 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/check_box.rb b/actionpack/lib/action_view/helpers/tags/check_box.rb
index 9d17a1dde3..e21cc07746 100644
--- a/actionpack/lib/action_view/helpers/tags/check_box.rb
+++ b/actionpack/lib/action_view/helpers/tags/check_box.rb
@@ -46,10 +46,12 @@ module ActionView
false
when String
value == @checked_value
- when Array
- value.include?(@checked_value)
else
- value.to_i == @checked_value.to_i
+ if value.respond_to?(:include?)
+ value.include?(@checked_value)
+ else
+ value.to_i == @checked_value.to_i
+ end
end
end
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb
index 246c4bfada..fbfc73deda 100644
--- a/actionpack/test/template/form_helper_test.rb
+++ b/actionpack/test/template/form_helper_test.rb
@@ -400,6 +400,12 @@ class FormHelperTest < ActionView::TestCase
'<input name="post[secret]" type="hidden" value="0" /><input checked="checked" id="post_secret" name="post[secret]" type="checkbox" value="1" />',
check_box("post", "secret")
)
+
+ @post.secret = Set.new(['1'])
+ assert_dom_equal(
+ '<input name="post[secret]" type="hidden" value="0" /><input checked="checked" id="post_secret" name="post[secret]" type="checkbox" value="1" />',
+ check_box("post", "secret")
+ )
end
def test_check_box_with_include_hidden_false