0

「15」と「45」のみを選択できるようにする time_select を rails3 アプリケーションで作成しようとしています。

私はすでに :minute_step => 30 を使用していますが、それでは 0,30 しか得られません。存在しないように見えるオプション :minute_offset => 15 を探していると思います...

4

1 に答える 1

0

独自の FormBuilder を作成するのは、私が追加したい 1 つの単純な拡張機能に対しては面倒すぎることがわかりました。

minutes_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 に答える