我正在尝试在rails3应用程序中创建一个time_select,该应用程序只允许选择'15'和'45'。
我已经使用:minute_step => 30,但这只给我0,30。我想我正在寻找一个选项:minute_offset => 15,这似乎不存在…
创建自己的FormBuilder对于我想添加的一个简单扩展来说太麻烦了。
原来minute_select函数已经有一个默认为0的起始(偏移)参数。只需传递一个额外的参数就可以解决这个问题。(minute_offset是这里的新选项)
ActionView::Helpers::DateTimeSelector.class_eval do
def select_minute
if @options[:use_hidden] || @options[:discard_minute]
build_hidden(:minute, min)
else
build_options_and_select(:minute, min, :step => @options[:minute_step], :start => (@options[:minute_offset] || 0) % (@options[:minute_step] || 60))
end
end
end
我正在接受关于如何更干净地完成此操作的建议,而不是这个全局猴子补丁