From 64af96bb9c7c7a64040e5e1a63861f046ae00b0e Mon Sep 17 00:00:00 2001 From: angelo giovanni capilleri Date: Fri, 11 May 2012 23:15:40 +0200 Subject: Always include the options :include_blank if the select has a required attribute and display size 1 and not multiple attribute, Fixes #5908 --- actionpack/lib/action_view/helpers/tags/base.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_view/helpers/tags/base.rb b/actionpack/lib/action_view/helpers/tags/base.rb index e4f431a6d7..bf209d3a20 100644 --- a/actionpack/lib/action_view/helpers/tags/base.rb +++ b/actionpack/lib/action_view/helpers/tags/base.rb @@ -121,6 +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) select = content_tag("select", add_options(option_tags, options, value(object)), html_options) if html_options["multiple"] && options.fetch(:include_hidden, true) @@ -129,6 +130,10 @@ module ActionView select end end + + def option_required?(html_options) + html_options["required"] && html_options["size"].to_i == 1 && !html_options["multiple"] + end def add_options(option_tags, options, value = nil) if options[:include_blank] -- cgit v1.2.3