[Rails 3] field_with_error dla datetime_select

Dla pól formularza text_field wykonywana jest metoda ActionView::ActiveModelInstanceTag#error_wrapping, która “otacza” pole div-em z ustawioną klasą field_with_errors
Niestety dla pól datetime_select metoda ta nie jest wywoływana i zestaw select-ów nie zostaje podświetlony.

Czy jest jakaś prosta metoda dodania “otoczenia” czy muszę pisać własny helper?

Walcząc dalej z tematem wyrzeźbiłem:

[code=ruby]module ActionView
module Helpers
class FormBuilder

  alias :old_datetime_select :datetime_select

  def datetime_select(method, options = {}, html_options = {})
    selects = old_datetime_select(method, options = {}, html_options = {})
    if object.respond_to?(:errors) && object.errors[method].count > 0
      Base.field_error_proc.call(selects, self)
    else
      selects
    end
  end
end

end
end[/code]
Niestety to nie działa i nie mam pojęcia co jest problemem. Wzorowałem się na http://www.apohllo.pl/dydaktyka/ruby/intro/zagadnienia-zaawansowane
W przeglądarce dostaję następujący komunikat:

[code]SystemStackError in Domains#new

Showing /home/tuptus/projekty/ruby/vadmin/app/views/default/domains/_form.html.erb where line #18 raised:

stack level too deep

Extracted source (around line #18):

15:
16:


17: <%= f.label :expire,:class=>‘span-3 label’ %>
18: <%= f.datetime_select :expire, :order=>[:year,:month,:day],:use_short_month => true, :start_year => Time.now.year %>
19:

Trace of template inclusion: app/views/default/domains/new.html.erb

Rails.root: /home/tuptus/projekty/ruby/vadmin
Application Trace | Framework Trace | Full Trace

app/helpers/application_helper.rb:74:in old_datetime_select' app/helpers/application_helper.rb:74:inold_datetime_select’
app/helpers/application_helper.rb:74:in datetime_select' app/views/default/domains/_form.html.erb:18:in_app_views_default_domains__form_html_erb__489912941__620319878_453134’
app/views/default/domains/new.html.erb:7:in _app_views_default_domains_new_html_erb___700395837__620243018_0' app/views/default/domains/new.html.erb:3:in_app_views_default_domains_new_html_erb___700395837__620243018_0’
app/controllers/domains_controller.rb:34:in `new’[/code]
Linia 74 to select = old_datetime_select(method, options = {}, html_options = {}). Wygląda to tak jakby alias zadziałał nie tylko na starą metodę datetime_select ale również na moją. Co robię źle?

Sama metoda działa poprawnie. Pierwotnie nazwałem ją e_datetime_select i przetestowałem bez alias.