0

我正在尝试在 rails3 应用程序中创建一个 time_select,它只允许选择“15”和“45”。

我已经在使用 :minute_step => 30,但这只给了我 0,30。我想我正在寻找一个选项:minute_offset => 15,它似乎不存在......

4

1 回答 1

0

对于我想添加的一个简单扩展,创建我自己的 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

我正在接受有关如何更干净地执行此操作的建议,而不是这种全局猴子补丁

于 2014-03-19T23:09:59.080 回答