1
プロセステーブルにdatetime型のフィールドstart_timeがあります。初期値はTime.zone.nowに設定されています。その後、ユーザーは日付を変更することはできません。そのstart_timeフィールドの時間と分だけを変更することができます。Rails:日時フィールドの時と分のみを更新する
したがって、「22:43」のように時:分だけを表示する編集フォームがユーザーに提供されますが、フォームが送信されると、フィールド値が現在の日付と時刻に変更されます。コントローラでは、私は値を更新するために、標準のレール文を使用しました:のparamsで
@process = Process.find(params[:id])
@process.update(process_params)
「20:40」
はまたchange方法を試してみましたが、それは保存しないように私はSTART_TIMEを取得します代わりにロールバックします。
hour_minute = params[:process][:start_time].split(":")
@process.start_time.change({hour: hour_minute[0], min: hour_minute[1]})
フィールド日付の時と分だけを更新する必要があります。