From e0e9d5bd8600c01de6b73487bf66046d179c0ed7 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 21 Nov 2014 17:44:24 +0800 Subject: Fix select_tag generating tag when set to false. Fixes https://github.com/rails/rails/issues/17701. --- actionview/lib/action_view/helpers/form_tag_helper.rb | 4 +++- actionview/test/template/form_tag_helper_test.rb | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'actionview') diff --git a/actionview/lib/action_view/helpers/form_tag_helper.rb b/actionview/lib/action_view/helpers/form_tag_helper.rb index c0218fd55d..93c04fbec6 100644 --- a/actionview/lib/action_view/helpers/form_tag_helper.rb +++ b/actionview/lib/action_view/helpers/form_tag_helper.rb @@ -140,7 +140,9 @@ module ActionView include_blank = '' end - option_tags = content_tag(:option, include_blank, value: '').safe_concat(option_tags) + if include_blank + option_tags = content_tag(:option, include_blank, value: '').safe_concat(option_tags) + end end if prompt = options.delete(:prompt) diff --git a/actionview/test/template/form_tag_helper_test.rb b/actionview/test/template/form_tag_helper_test.rb index f8fd642809..84a581b107 100644 --- a/actionview/test/template/form_tag_helper_test.rb +++ b/actionview/test/template/form_tag_helper_test.rb @@ -232,6 +232,12 @@ class FormTagHelperTest < ActionView::TestCase assert_dom_equal expected, actual end + def test_select_tag_with_include_blank_false + actual = select_tag "places", "".html_safe, include_blank: false + expected = %() + assert_dom_equal expected, actual + end + def test_select_tag_with_include_blank_string actual = select_tag "places", "".html_safe, include_blank: 'Choose' expected = %() -- cgit v1.2.3