ActiveRecord模型不显示时间戳

时间:2014-06-07 12:04:18

标签: ruby-on-rails ruby sqlite activerecord ruby-on-rails-4

我的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中看到所有时间戳。有什么建议吗?

1 个答案:

答案 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