mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #17064 from frenkel/fix_select_tag_include_blank
Use include_blank value as option label
This commit is contained in:
commit
0afbe74c3b
2 changed files with 14 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue