Skip to content
Browse files

fix adding field_with_errors to date selects, closes #3487

  • Loading branch information...
1 parent 024d3b9 commit 92088131ac15734f2227e9d85ea751e3f89b0116 @nashby nashby committed
View
5 actionpack/lib/action_view/helpers/active_model_helper.rb
@@ -1,4 +1,3 @@
-require 'action_view/helpers/form_helper'
require 'active_support/core_ext/class/attribute_accessors'
require 'active_support/core_ext/enumerable'
require 'active_support/core_ext/object/blank'
@@ -47,9 +46,5 @@ def tag_generate_errors?(options)
options['type'] != 'hidden'
end
end
-
- class InstanceTag
- include ActiveModelInstanceTag
- end
end
end
View
14 actionpack/lib/action_view/helpers/date_helper.rb
@@ -422,7 +422,7 @@ def select_time(datetime = Time.current, options = {}, html_options = {})
end
# Returns a select tag with options for each of the seconds 0 through 59 with the current second selected.
- # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
+ # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
# Override the field name using the <tt>:field_name</tt> option, 'second' by default.
#
# ==== Examples
@@ -448,7 +448,7 @@ def select_second(datetime, options = {}, html_options = {})
# Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected.
# Also can return a select tag with options by <tt>minute_step</tt> from 0 through 59 with the 00 minute
- # selected. The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
+ # selected. The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
# Override the field name using the <tt>:field_name</tt> option, 'minute' by default.
#
# ==== Examples
@@ -473,7 +473,7 @@ def select_minute(datetime, options = {}, html_options = {})
end
# Returns a select tag with options for each of the hours 0 through 23 with the current hour selected.
- # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
+ # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
# Override the field name using the <tt>:field_name</tt> option, 'hour' by default.
#
# ==== Examples
@@ -868,7 +868,7 @@ def build_options(selected, options = {})
tag_options = { :value => value }
tag_options[:selected] = "selected" if selected == i
text = options[:use_two_digit_numbers] ? sprintf("%02d", i) : value
- text = options[:ampm] ? AMPM_TRANSLATION[i] : text
+ text = options[:ampm] ? AMPM_TRANSLATION[i] : text
select_options << content_tag(:option, text, tag_options)
end
(select_options.join("\n") + "\n").html_safe
@@ -974,7 +974,7 @@ def separator(type)
end
end
- class InstanceTag #:nodoc:
+ module DateHelperInstanceTag
def to_date_select_tag(options = {}, html_options = {})
datetime_selector(options, html_options).select_date.html_safe
end
@@ -1030,6 +1030,10 @@ def default_datetime(options)
end
end
+ class InstanceTag #:nodoc:
+ include DateHelperInstanceTag
+ end
+
class FormBuilder
def date_select(method, options = {}, html_options = {})
@template.date_select(@object_name, method, objectify_options(options), html_options)
View
3 actionpack/lib/action_view/helpers/form_helper.rb
@@ -2,6 +2,7 @@
require 'action_view/helpers/date_helper'
require 'action_view/helpers/tag_helper'
require 'action_view/helpers/form_tag_helper'
+require 'action_view/helpers/active_model_helper'
require 'active_support/core_ext/class/attribute'
require 'active_support/core_ext/hash/slice'
require 'active_support/core_ext/module/method_names'
@@ -963,7 +964,7 @@ def instantiate_builder(record_name, record_object, options, &block)
end
class InstanceTag
- include Helpers::TagHelper, Helpers::FormTagHelper
+ include Helpers::ActiveModelInstanceTag, Helpers::TagHelper, Helpers::FormTagHelper
attr_reader :object, :method_name, :object_name

0 comments on commit 9208813

Please sign in to comment.
Something went wrong with that request. Please try again.