Ruby on rails Rails Postgre日期时间另存为零

Ruby on rails Rails Postgre日期时间另存为零,ruby-on-rails,ruby,postgresql,datetime,Ruby On Rails,Ruby,Postgresql,Datetime,我正试图在我的模型上保存一个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,

我正试图在我的模型上保存一个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

有人知道有什么问题吗?谢谢

如果默认时区设置不正确,datetime字段可能会出现这种情况。查看此以了解更多信息

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


如果默认时区设置不正确,datetime字段可能会出现这种情况。查看此以了解更多信息

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


您可以这样做:1)test=Post.new(data\u agenda:DateTime.now);2) 测试有效吗?;(3) test.error,而不是
Post.create!(data\u agenda:DateTime.now)
以下是输出:2.2.2:004>test.valid?=>true 2.2.2:005>test.errors=>#对于Post.create!:对于Post.create!:=>#看起来它保存正确,但当我获取记录时,存储的值为null。我还尝试在postgre控制台上执行sql,但也得到了相同的结果。保存日期是确定的。它只发生在DateTime上。您可以这样做:1)test=Post.new(data\u agenda:DateTime.now);2) 测试有效吗?;(3) test.error,而不是
Post.create!(data\u agenda:DateTime.now)
以下是输出:2.2.2:004>test.valid?=>true 2.2.2:005>test.errors=>#对于Post.create!:对于Post.create!:=>#看起来它保存正确,但当我获取记录时,存储的值为null。我还尝试在postgre控制台上执行sql,但也得到了相同的结果。保存日期是确定的。只有datetimeguess时区配置正确时才会发生这种情况:config.time\u zone='bassilia'config.active\u record.default\u timezone='bassilia'可能尝试删除它们,重新启动控制台,然后看看它是否工作。如果是的话,那么问题将与该部分有关。否则,我将查找其他可能的问题准备重新启动控制台、计算机和其他一切。还尝试创建只有一个datetime字段的测试模型。。。它也会出现同样的问题,所以我想,guess可能是postgre的问题。您是否删除了时区配置,在
rails c
中键入
exit
,然后在
rails c
Post.last
?谢谢!真管用!但我的配置有什么问题?我猜时区配置正确:config.time\u zone='bassilia'config.active\u record.default\u timezone='bassilia'也许可以尝试删除它们,重新启动控制台,看看它是否正常工作。如果是的话,那么问题将与该部分有关。否则,我将查找其他可能的问题准备重新启动控制台、计算机和其他一切。还尝试创建只有一个datetime字段的测试模型。。。它也会出现同样的问题,所以我想,guess可能是postgre的问题。您是否删除了时区配置,在
rails c
中键入
exit
,然后在
rails c
Post.last
?谢谢!真管用!但是我的配置出了什么问题?
config.time_zone = "Brasilia"