#【Rails】saveメソッドしたら、created_atの時間がずれたを解決する方法
##どんな人向け
saveメソッドでDBを更新したが、created_at列、updated_at列の時間が今の時間と一致しない人向け
##実行環境
ruby 2.4.10
Rails 5.2.4.3,
##結論(原因)
railsの時刻設定がグリニッジ標準時になっている
config/application.rbから、タイムゾーンを設定することで、日本標準時に変更できる。
application.rb
module SampleApp
class Application < Rails::Application
config.time_zone = "Tokyo"
end
end
##大まかな設定方法
①application.rbにタイムゾーン設定を追加
②railsコンソール再起動
③time.currentメソッドでタイムゾーン設定が適用されていることを確認
##具体的な設定方法
①application.rbにタイムゾーン設定を追加
config/application.rbを開いて、「config.time_zone = "Tokyo"」を追記
application.rb
module SampleApp
class Application < Rails::Application
config.time_zone = "Tokyo"
end
end
②railsコンソールを起動
$ rails console
③time.currentメソッドでタイムゾーン設定が適用されていることを確認
irb(main):003:0> Time.current => Wed, 17 Jun 2020 00:11:56 JST +09:00