我的Rails应用程序中的所有ActiveRecord模型最近都显示了与时间戳有关的奇怪行为:可以保存在数据库中(sqlite3用于开发),但加载的模型只有“nil”和“#”。字段。
保存:
SQL (0.5ms) UPDATE "users" SET "confirmed_at" = ?, "updated_at" = ?, "user_type_id" = ?
WHERE "users"."id" = 1 [["confirmed_at", "2014-06-07 13:50:27.437678"], ["updated_at",
"2014-06-07 13:50:35.680003"], ["user_type_id", 1]]
装载:
=> #<User id: 1 ... created_at: nil, updated_at: nil ... confirmed_at: nil, ...>
直接访问数据库时,我可以在&#39;保存&#39; -format中看到所有时间戳。有什么建议吗?
答案 0 :(得分:0)
出现此行为是因为我在一开始就做了一些设置。在application.rb
中,我设置了以下内容:
config.time_zone = 'Berlin'
config.active_record.default_timezone = 'Berlin'
这导致加载错误,因为active_record.default_timezone
无法像应用程序time_zone
那样设置。为了防止这种情况,我更新了我的代码:
config.time_zone = 'Berlin'
config.active_record.default_timezone = :local
config.active_record.time_zone_aware_attributes = false