テーブルの「時間外残業」のフィールドに時間の計算を行った結果を表記したいのですが、
下記の様に、表記されてしまします。エラーは出ていないのですが、時間を2:00、3:00などと表記する方法を教えていただけないでしょうか。
○時間外残業→ overtime_worked_on(attendanceテーブル t.datetime)
○指定勤務終了時間→designation_work_end_time(userテーブル t.datetime)
○終了予定時間→overtime_finished_at(attendanceテーブル t.datetime)
○計算式→ overtime_worked_on = overtime_finished_at - designation_work_end_time
*attendances_helper.rb*
rb
1def overtime_worked_on(overtime_finished_at , designation_work_end_time ) 2 format("%.2f", (((overtime_finished_at - designation_work_end_time ) / 60) / 60.0)) 3 end
*show.html.erb*
erb
1<%= str_times = overtime_worked_on(day.overtime_finished_at , @user.designation_work_end_time) %> 2 <%= @total_overtime_worked_on = @user.designation_work_end_time.to_f - str_times.to_f %>
*debugger結果*
お手数おかけしますが、宜しくお願い致します。
overtime_finished_atやdesignation_work_end_timeのデータ型は何でしょうか?
申し訳ございません。
全て、datetime型となります
一部は日付あり、一部は時間だけ、のような、元のデータ構造がいびつだった、ということはありませんか?
各、マイグレーションファイルを見た感じでは「datetime」となっていますが、
他の確認方法があるのですか?
一応、本文にマイグレーションファイルを添付させていただきます。
> 他の確認方法があるのですか?
実際に入れているデータの中身の問題です。
ありがとうございます。
私の知識では、debuggerで中身を確認する術しか思いつかないので、
debuggerの結果を追加させていただきます。
回答1件
あなたの回答
tips
プレビュー