summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorxibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-28 15:41:12 +0000
committerxibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-28 15:41:12 +0000
commit6ea867b15ac2153e390bfc94630843edd1a981c9 (patch)
tree6cd27989dd3fbe6d36d3751c9faa54b189fe1b2a /lib
parent1111c58b975c53f38e9fe9c4fb492d62345df9b7 (diff)
downloadruby-6ea867b15ac2153e390bfc94630843edd1a981c9.tar.gz
ruby-6ea867b15ac2153e390bfc94630843edd1a981c9.tar.xz
ruby-6ea867b15ac2153e390bfc94630843edd1a981c9.zip
* lib/cgi/html.rb (CGI::HtmlExtension::{radio_group, checkbox_group}):
can specify the false as checked or selected value. [ruby-core:18306], [ruby-core:18307] * test/cgi/test_cgi_tag_helper.rb: add a test. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/cgi/html.rb16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/cgi/html.rb b/lib/cgi/html.rb
index aac53f925..74aa730be 100644
--- a/lib/cgi/html.rb
+++ b/lib/cgi/html.rb
@@ -248,12 +248,12 @@ class CGI
if value.kind_of?(String)
checkbox(name, value) + value
else
- if value[value.size - 1] == true
- checkbox(name, value[0], true) +
- value[value.size - 2]
+ if value[-1] == true || value[-1] == false
+ checkbox(name, value[0], value[-1]) +
+ value[-2]
else
checkbox(name, value[0]) +
- value[value.size - 1]
+ value[-1]
end
end
}.join
@@ -703,12 +703,12 @@ class CGI
if value.kind_of?(String)
radio_button(name, value) + value
else
- if value[value.size - 1] == true
- radio_button(name, value[0], true) +
- value[value.size - 2]
+ if value[-1] == true || value[-1] == false
+ radio_button(name, value[0], value[-1]) +
+ value[-2]
else
radio_button(name, value[0]) +
- value[value.size - 1]
+ value[-1]
end
end
}.join