diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-30 08:46:22 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-30 08:46:22 +0000 |
commit | 98306bed054c320833d9d48229c68da10a38f3d0 (patch) | |
tree | bf39496a159a38974ea6e1016d1a92c0c3ec0b83 | |
parent | 14860ebe8226bd101531d8c0599035c9120cac4d (diff) | |
download | rails-98306bed054c320833d9d48229c68da10a38f3d0.tar.gz rails-98306bed054c320833d9d48229c68da10a38f3d0.tar.bz2 rails-98306bed054c320833d9d48229c68da10a38f3d0.zip |
Fixed missing id uniqueness in FormTag#radio_button #1207 [Jarkko]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1253 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/form_helper.rb | 4 | ||||
-rw-r--r-- | actionpack/test/template/form_helper_test.rb | 8 |
3 files changed, 10 insertions, 4 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index e751c88af8..3351ba5886 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed missing id uniqueness in FormTag#radio_button #1207 [Jarkko] + * Fixed assert_redirected_to to work with :only_path => false #1204 [Alisdair McDiarmid] * Fixed render_partial_collection to output an empty string instead of nil when handed an empty array #1202 [Ryan Carver] diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 4e25eee071..78f3f68830 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -175,6 +175,10 @@ module ActionView options["type"] = "radio" options["value"] = tag_value options["checked"] = "checked" if value == tag_value + pretty_tag_value = tag_value.gsub(/\s/, "_").gsub(/\W/, "").downcase + options["id"] = @auto_index ? + "#{@object_name}_#{@auto_index}_#{@method_name}_#{pretty_tag_value}" : + "#{@object_name}_#{@method_name}_#{pretty_tag_value}" add_default_name_and_id(options) tag("input", options) end diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 28e8865f38..21b9c24344 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -82,10 +82,10 @@ class FormHelperTest < Test::Unit::TestCase end def test_radio_button - assert_equal('<input checked="checked" id="post_title" name="post[title]" type="radio" value="Hello World" />', + assert_equal('<input checked="checked" id="post_title_hello_world" name="post[title]" type="radio" value="Hello World" />', radio_button("post", "title", "Hello World") ) - assert_equal('<input id="post_title" name="post[title]" type="radio" value="Goodbye World" />', + assert_equal('<input id="post_title_goodbye_world" name="post[title]" type="radio" value="Goodbye World" />', radio_button("post", "title", "Goodbye World") ) end @@ -166,10 +166,10 @@ class FormHelperTest < Test::Unit::TestCase check_box("post[]", "secret") ) assert_equal( -"<input checked=\"checked\" id=\"post_#{pid}_title\" name=\"post[#{pid}][title]\" type=\"radio\" value=\"Hello World\" />", +"<input checked=\"checked\" id=\"post_#{pid}_title_hello_world\" name=\"post[#{pid}][title]\" type=\"radio\" value=\"Hello World\" />", radio_button("post[]", "title", "Hello World") ) - assert_equal("<input id=\"post_#{pid}_title\" name=\"post[#{pid}][title]\" type=\"radio\" value=\"Goodbye World\" />", + assert_equal("<input id=\"post_#{pid}_title_goodbye_world\" name=\"post[#{pid}][title]\" type=\"radio\" value=\"Goodbye World\" />", radio_button("post[]", "title", "Goodbye World") ) end |