以前この質問をさせていただいたんですが、
https://teratail.com/questions/140950
質問に関する処理だけ抜粋ですが、最終的にはコントローラー(users_controller)がこうなり
def register_work_starting_time @working_hour = WorkingHour.create(user_id: current_user.id, start_time: Time.current) redirect_to user_url(current_user.id) end def register_work_finished_time @working_hour = WorkingHour.where(user_id: current_user.id, finish_time: nil).last @working_hour.finish_time = Time.current @working_hour.save end
view(users/show)にはこのようなボタンを設置しました。
= button_to "作業開始", controller: "users", action: "register_work_starting_time" ,method: "get"
最終的にはユーザー一人一人のページに、開始時間と終了時間を表示したいのですが、
ひとまず開始時間だけうまくできるか試してみようとしたのですが、どうやら@working_hourに何も入っていないらしく、普通に@working_hour.start_timeをviewに表示しようとすると、「nilにstart_timeはない」というエラーがでます。(logger.debug(@working_hour)でもnilになってしまいます。)
時間の登録はできているのですが(画像参照)、コントローラーの処理が間違っているのか、どこに原因があるのかがわかりません。。
どなたか回答いただければヒントや推測だけでも嬉しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/18 06:51
2018/08/18 06:53
2018/08/18 07:11
2018/08/18 07:30
2018/08/18 07:43
2018/08/18 08:21
2018/08/19 07:09