From ba96827b3d05396b11491e36590c52a407ddb8a2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 17 Apr 2005 09:39:01 +0000 Subject: Fixed FormTagHelper#check_box to respect checked #1049 [DelynnB] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1183 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_view/helpers/form_helper.rb | 2 +- actionpack/test/template/form_helper_test.rb | 7 +++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index ec67d80fb2..464790dcf1 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed FormTagHelper#check_box to respect checked #1049 [DelynnB] + * Added that render_partial called from a controller will use the action name as default #828 [Dan Peterson] * Added Element.toggle, Element.show, and Element.hide to the prototype javascript library. Toggle.display has been deprecated, but will still work #992 [Lucas Carlson] diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 007437b7ad..4e25eee071 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -199,7 +199,7 @@ module ActionView else value.to_i != 0 end - if checked + if checked || options["checked"] == "checked" options["checked"] = "checked" else options.delete("checked") diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 3f8033af1d..28e8865f38 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -1,6 +1,7 @@ require 'test/unit' require 'erb' require File.dirname(__FILE__) + '/../../lib/action_view/helpers/form_helper' +require File.dirname(__FILE__) + '/../../../activesupport/lib/active_support/core_ext/hash' #for stringify keys class FormHelperTest < Test::Unit::TestCase include ActionView::Helpers::FormHelper @@ -64,13 +65,15 @@ class FormHelperTest < Test::Unit::TestCase '', check_box("post", "secret") ) - @post.secret = 0 assert_equal( '', check_box("post", "secret") ) - + assert_equal( + '', + check_box("post", "secret" ,{"checked"=>"checked"}) + ) @post.secret = true assert_equal( '', -- cgit v1.2.3