ruby-on-rails - Rails Postgre 日期时间保存为零

标签 ruby-on-rails ruby postgresql datetime

我正在尝试在我的模型上保存一个日期时间字段。我保存正确,但是当我获取记录时,它的值为零。我在 postgresql 中使用 Rails 4.2.4。示例:

2.2.2 :006 > Post.create(data_agendada: DateTime.now)

   (0.4ms)  BEGIN
  SQL (0.7ms)  INSERT INTO "posts" ("data_agendada", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["data_agendada", "2016-01-31 17:45:42.895390"], ["created_at", "2016-01-31 17:45:42.897885"], ["updated_at", "2016-01-31 17:45:42.897885"]]

Sun, 31 Jan 2016 17:45:42 BRST -02:00
   (34.5ms)  COMMIT

Post id: 71, cod: nil, data: nil, legenda: nil, created_at: "2016-01-31 19:45:42", updated_at: "2016-01-31 19:45:42", tags: nil, facebook: nil, twitter: nil, instagram: nil, app: nil, materia_id: nil, shares_count: nil, fonte_id: nil, user_id: nil, likes_count: nil, data_agendada: "2016-01-31 19:45:42"

2.2.2 :007 > Post.last

Post id: 71, cod: nil, data: nil, legenda: nil, created_at: nil, updated_at: nil, tags: nil, facebook: nil, twitter: nil, instagram: nil, app: nil, materia_id: nil, shares_count: nil, fonte_id: nil, user_id: nil, likes_count: nil, data_agendada: nil

谁知道问题出在哪里?谢谢!

最佳答案

如果您的默认时区设置不正确,日期时间字段可能会发生这种情况。看看这个 issue了解更多信息。

您的 application.rb 应该有一个来自 rake time:zones:all 的时区(或者根本没有)。

config.time_zone = "Brasilia"

关于ruby-on-rails - Rails Postgre 日期时间保存为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118664/

相关文章:

ruby - kernel_require.rb :54 in 'require' : Cannot load such file (from GitHub repository)

sql - 为什么这个查询运行缓慢?

ruby-on-rails - 第 1 行中的引号缺失或遗漏 (CSV::MalformedCSVError)

ruby-on-rails - 作为人类,我可以查看 RSpec 渲染的 View 吗?如果可以,如何查看?

ruby - 如何从定义相同名称的模块内部访问ruby中的顶级实体

ruby - 将 cookie 传递给 Net::HTTP.start

sql - Postgres : Get owner of all schemas

sql - 从 CSV 文件将数据导入 SQL 表并考虑外键

ruby-on-rails - flash和跨域问题

ruby-on-rails - Rails 4 错误 : can't write unknown attribute `html'