Итак, я хотел бы переопределить метод date_select по умолчанию (я хотел бы сделать «необязательный / неопределенный» ввод даты).До сих пор я пробовал это:
lib / overrides.rb
ActionView::Helpers::DateHelper::DateTimeSelector.class_eval do
def build_selects_from_types(order)
select = ''
order.reverse.each do |type|
separator = separator(type) unless type == order.first # don't add on last field
select.insert(0, separator.to_s + send("select_#{type}").to_s)
end
select.insert(0, '<p>HI!!</p>') # or whatever...
select.html_safe
end
end
Затем мне потребовались переопределения в нижней части environment.rb, нопри запуске WEBrick я получаю эту ошибку:
~ / .rvm / gems / ruby-1.9.2-p0 / gems / activesupport-3.0.0 / lib / active_support / dependencies.rb: 479:в `load_missing_constant ': ActionView :: Helpers не пропускает постоянную DateTimeSelector!(ArgumentError)
Так что я, очевидно, действительно не знаю, что делаю, но кажется разумным попытаться хотя бы попытаться.
Приведенная выше ошибка означает, что она не может найти класс DateTimeSelector, но я посмотрел на код в ~ / .rvm / gems / ruby-1.9.2-p0 / gems / actionpack-3.0.0 / lib / action_view / helpers / date_helper.rb и я думаю, что у меня есть правильная иерархия модулей.Это потому, что это приватный класс Rails?
Любые мысли приветствуются:)