From 8946804b8a73242ac59296782741fec2fb08e97a Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Wed, 12 Oct 2005 01:05:29 +0000 Subject: Make xyz_tag(..., :id => "foo") work again git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2535 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_view/helpers/form_tag_helper.rb | 14 +++++++------- actionpack/test/template/form_tag_helper_test.rb | 6 ++++++ 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_view/helpers/form_tag_helper.rb b/actionpack/lib/action_view/helpers/form_tag_helper.rb index 07cc62a527..5933be2575 100644 --- a/actionpack/lib/action_view/helpers/form_tag_helper.rb +++ b/actionpack/lib/action_view/helpers/form_tag_helper.rb @@ -47,7 +47,7 @@ module ActionView # Options: # * :multiple - If set to true the selection will allow multiple choices. def select_tag(name, option_tags = nil, options = {}) - content_tag("select", option_tags, { "name" => name, "id" => name }.update(options)) + content_tag("select", option_tags, { "name" => name, "id" => name }.update(options.stringify_keys)) end # Creates a standard text field. @@ -59,7 +59,7 @@ module ActionView # # A hash of standard HTML options for the tag. def text_field_tag(name, value = nil, options = {}) - tag("input", { "type" => "text", "name" => name, "id" => name, "value" => value }.update(options)) + tag("input", { "type" => "text", "name" => name, "id" => name, "value" => value }.update(options.stringify_keys)) end # Creates a hidden field. @@ -103,33 +103,33 @@ module ActionView options.delete("size") end - content_tag("textarea", content, { "name" => name, "id" => name }.update(options)) + content_tag("textarea", content, { "name" => name, "id" => name }.update(options.stringify_keys)) end # Creates a check box. def check_box_tag(name, value = "1", checked = false, options = {}) - html_options = { "type" => "checkbox", "name" => name, "id" => name, "value" => value }.update(options) + html_options = { "type" => "checkbox", "name" => name, "id" => name, "value" => value }.update(options.stringify_keys) html_options["checked"] = "checked" if checked tag("input", html_options) end # Creates a radio button. def radio_button_tag(name, value, checked = false, options = {}) - html_options = { "type" => "radio", "name" => name, "id" => name, "value" => value }.update(options) + html_options = { "type" => "radio", "name" => name, "id" => name, "value" => value }.update(options.stringify_keys) html_options["checked"] = "checked" if checked tag("input", html_options) end # Creates a submit button with the text value as the caption. def submit_tag(value = "Save changes", options = {}) - tag("input", { "type" => "submit", "name" => "commit", "value" => value }.update(options)) + tag("input", { "type" => "submit", "name" => "commit", "value" => value }.update(options.stringify_keys)) end # Displays an image which when clicked will submit the form. # # source is passed to AssetTagHelper#image_path def image_submit_tag(source, options = {}) - tag("input", { "type" => "image", "src" => image_path(source) }.update(options)) + tag("input", { "type" => "image", "src" => image_path(source) }.update(options.stringify_keys)) end end end diff --git a/actionpack/test/template/form_tag_helper_test.rb b/actionpack/test/template/form_tag_helper_test.rb index 1fc84744e8..546d3e6772 100644 --- a/actionpack/test/template/form_tag_helper_test.rb +++ b/actionpack/test/template/form_tag_helper_test.rb @@ -87,5 +87,11 @@ class FormTagHelperTest < Test::Unit::TestCase assert_dom_equal %(), select_tag("people", "", :multiple => true) assert_dom_equal %(), select_tag("people", "", :multiple => nil) end + + def test_stringify_symbol_keys + actual = text_field_tag "title", "Hello!", :id => "admin" + expected = %() + assert_dom_equal expected, actual + end end -- cgit v1.2.3