誰かが目的地に到着したいと思っていて、使用するのに適した形式があり、それをTimeタイプにどのように変換するのか疑問に思ったときに、設定された時間に30分刻みで24時間のドロップダウンを作成しています(時間タイプとしてのデータベース)。
これらは私が使用しているオプションです:
def options_for_hours_select
[
['4 AM','4'],
['4:30 AM','430'],
#etc
]
end
誰かが目的地に到着したいと思っていて、使用するのに適した形式があり、それをTimeタイプにどのように変換するのか疑問に思ったときに、設定された時間に30分刻みで24時間のドロップダウンを作成しています(時間タイプとしてのデータベース)。
これらは私が使用しているオプションです:
def options_for_hours_select
[
['4 AM','4'],
['4:30 AM','430'],
#etc
]
end
30分刻みを使用している場合は、次のように数値オプション値の使用を変更できます。
def options_for_hours_select
[
["4 AM", 4],
["4:30 AM", 4.5]
]
end
次に、それを時間に変換する場合は、その時間数を1日の始まりに追加するだけです(ActiveSupportを使用すると、これが特に簡単になります)。例:
Date.today + 4.5.hours # gives 4:30AM today
2つのパラメータ:date
と:arrival_time
がある場合は、次のように組み合わせることができます。
time = params[:date].to_date + params[:arrival_time].hours