aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-10-25 16:10:31 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-10-25 16:10:31 -0700
commit0afbe74c3b813f998db94adbed2eaa63e3d62ec1 (patch)
tree48dfb5c2809ec25ea66adb5c27b56a8314dc2911
parent2982b3018dc23cd211dd6f1f7307e343bc55bd3a (diff)
parentd611036c7709d7c30cbab3110e20e248283af364 (diff)
downloadrails-0afbe74c3b813f998db94adbed2eaa63e3d62ec1.tar.gz
rails-0afbe74c3b813f998db94adbed2eaa63e3d62ec1.tar.bz2
rails-0afbe74c3b813f998db94adbed2eaa63e3d62ec1.zip
Merge pull request #17064 from frenkel/fix_select_tag_include_blank
Use include_blank value as option label
-rw-r--r--actionview/lib/action_view/helpers/form_tag_helper.rb10
-rw-r--r--actionview/test/template/form_tag_helper_test.rb6
2 files changed, 14 insertions, 2 deletions
diff --git a/actionview/lib/action_view/helpers/form_tag_helper.rb b/actionview/lib/action_view/helpers/form_tag_helper.rb
index 69893b8abd..74cfec962e 100644
--- a/actionview/lib/action_view/helpers/form_tag_helper.rb
+++ b/actionview/lib/action_view/helpers/form_tag_helper.rb
@@ -133,8 +133,14 @@ module ActionView
option_tags ||= ""
html_name = (options[:multiple] == true && !name.to_s.ends_with?("[]")) ? "#{name}[]" : name
- if options.delete(:include_blank)
- option_tags = content_tag(:option, '', :value => '').safe_concat(option_tags)
+
+ if options.include?(:include_blank)
+ include_blank = options.delete(:include_blank)
+ if include_blank == true
+ include_blank = ''
+ end
+
+ option_tags = content_tag(:option, include_blank, :value => '').safe_concat(option_tags)
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 2d89332841..4844398c13 100644
--- a/actionview/test/template/form_tag_helper_test.rb
+++ b/actionview/test/template/form_tag_helper_test.rb
@@ -231,6 +231,12 @@ class FormTagHelperTest < ActionView::TestCase
expected = %(<select id="places" name="places"><option value=""></option><option>Home</option><option>Work</option><option>Pub</option></select>)
assert_dom_equal expected, actual
end
+
+ def test_select_tag_with_include_blank_string
+ actual = select_tag "places", "<option>Home</option><option>Work</option><option>Pub</option>".html_safe, :include_blank => 'Choose'
+ expected = %(<select id="places" name="places"><option value="">Choose</option><option>Home</option><option>Work</option><option>Pub</option></select>)
+ assert_dom_equal expected, actual
+ end
def test_select_tag_with_prompt
actual = select_tag "places", "<option>Home</option><option>Work</option><option>Pub</option>".html_safe, :prompt => "string"