rails consoleでsaveした日時がCTUで表示されてしまう
railsチュートリアルは相変わらず進まず
ようやく6章を確認中。
相変わらず進みが遅いです。。
railsチュートリアルの『6.1.3 ユーザーオブジェクトを作成する』はrails consle
でデータモデルの更新を確認するチュートリアルです。
そこでこんな疑問が発生して止まっていました。(結局いまだよくわからず)
>> Time.zone.now => Tue, 12 Sep 2017 00:02:13 JST +09:00
User.new
して
>> user = User.new(name: "Michael Hartl", email: "mhartl@example.com") => #<User id: nil, name: "Michael Hartl", email: "mhartl@example.com", created_at: nil, updated_at: nil>
DBにuser.save
で保存(この時のcreated_atはJSTの時刻で登録されている)
> user.save (0.4ms) SAVEPOINT active_record_1 SQL (1.7ms) INSERT INTO "users" ("name", "email", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Michael Hartl"], ["email", "mhartl@example.com"], ["created_at", "2017-09-12 00:05:13.647787"], ["updated_at", "2017-09-12 00:05:13.647787"]] (0.1ms) RELEASE SAVEPOINT active_record_1 => true
しかし、user
でレコードを確認するとCTUの日時になっている。(なぜ??)
>> user => #<User id: 1, name: "Michael Hartl", email: "mhartl@example.com", created_at: "2017-09-11 15:05:13", updated_at: "2017-09-11 15:05:13">
ちなみにrails cnsole
時に–sandboxオプションを外して登録し、rails db
から直接sqllite3を確認したところ、JSTの日時で登録されていました。
rails console
でレコードを確認するときだけCTUの時刻で表示されているらしい。なぜなのかいまだに謎。