Ruby/Rails: 15 の倍数のみを選択できるようにビューの datetime_field を変更する方法はありますか?
概要
私のビューの 1 つに次の 2 行があります。
<%= form.label :time, style: "display: block" %>
<%= form.datetime_field :time%>
:time 変数 (DateTime 型) に任意の時間を選択できます。
0、15、30、または 45 分のオプションのみが表示されるように制限したいのですが、検証を使用せずにこれを行う方法はありますか?
解決策
ネイティブの日時入力では、分の選択はできません。ただし、Rails の time_select メソッドを : minutes_step オプションとともに使用することはできます。
<%= form.time_select :time, { minute_step: 15 } %>
:start_hour および :end_hour オプションを使用して、時間の範囲を制限することもできます。例えば。:
<%= form.time_select :time, { minute_step: 15, start_hour: 9, end_hour: 17 } %>
これにより、時間の選択は午前 9 時から午後 5 時まで、15 分間隔に制限されます。