我需要添加:start_year和:end_year到我的date_select帮助器。扩展date_select助手以默认添加它的方法是什么,这样我就不必更改数百个视图。
简而言之,我有以下观点:
<li><%= f.label :hire_date %><%= f.date_select :hire_date %></li>
我希望得到以下内容:
<li><%= f.label :hire_date %><%= f.date_select :hire_date, :start_year=>1950 , :end_year=>2050%></li>
那么如何扩展date_select以便我不必在所有视图中进行此更改。
答案 0 :(得分:0)
在config / initializers中的文件名date_select.rb中的代码完成了诀窍:
ActionView::Helpers::DateHelper.class_eval do
def date_select(object_name, method, options = {}, html_options = {})
start_year = 1950
end_year = 2050
options[:start_year] = start_year
options[:end_year] = end_year
ActionView::Helpers::InstanceTag.new(object_name, method, self, options.delete(:object)).to_date_select_tag(options, html_options)
end
end