aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorRafael Mendonça França <rafael.franca@plataformatec.com.br>2012-05-13 00:42:19 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-05-13 01:00:31 -0300
commit30818561158dce27f3b0ae3f659a7bfdc867b834 (patch)
treedfbcb55d73d8b4eeff0d0725543e85c6867cd4d2 /actionpack
parent94d84c5383fd2394577a286738e9d9663c6b8f29 (diff)
downloadrails-30818561158dce27f3b0ae3f659a7bfdc867b834.tar.gz
rails-30818561158dce27f3b0ae3f659a7bfdc867b834.tar.bz2
rails-30818561158dce27f3b0ae3f659a7bfdc867b834.zip
Only set `:include_blank` if the value of this options is not present
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/helpers/tags/base.rb2
-rw-r--r--actionpack/test/template/form_options_helper_test.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/base.rb b/actionpack/lib/action_view/helpers/tags/base.rb
index 74a9e043c0..607954e762 100644
--- a/actionpack/lib/action_view/helpers/tags/base.rb
+++ b/actionpack/lib/action_view/helpers/tags/base.rb
@@ -121,7 +121,7 @@ module ActionView
def select_content_tag(option_tags, options, html_options)
html_options = html_options.stringify_keys
add_default_name_and_id(html_options)
- options[:include_blank] = true if option_required?(html_options)
+ options[:include_blank] ||= true if option_required?(html_options)
select = content_tag("select", add_options(option_tags, options, value(object)), html_options)
if html_options["multiple"] && options.fetch(:include_hidden, true)
diff --git a/actionpack/test/template/form_options_helper_test.rb b/actionpack/test/template/form_options_helper_test.rb
index 52b4939670..fee63b76c7 100644
--- a/actionpack/test/template/form_options_helper_test.rb
+++ b/actionpack/test/template/form_options_helper_test.rb
@@ -640,6 +640,12 @@ class FormOptionsHelperTest < ActionView::TestCase
select("post", "category", %w(abe mus hest), {}, required: true)
)
end
+
+ def test_required_select_with_include_blank_prompt
+ assert_dom_equal(
+ %(<select id="post_category" name="post[category]" required="required"><option value="">Select one</option>\n<option value="abe">abe</option>\n<option value="mus">mus</option>\n<option value="hest">hest</option></select>),
+ select("post", "category", %w(abe mus hest), { include_blank: "Select one" }, required: true)
+ )
end
def test_required_select_display_size_equals_to_one