Rails - Postgresql更新datetime给我正确的日期,但时间是00:00:00

时间:2013-10-31 10:59:16

标签: ruby-on-rails ruby datetime time rails-postgresql

我一直在尝试使用当前日期&更新日期时间字段。时间。

current_user.update_attributes!(:watched_post_its_at => Time.now)

但它留给我2013-10-31 00:00:00

如果我进入控制台并像

那样写
User.find(8).update_attributes!(:watched_post_its_at => Time.now)

它给了我正确的时间:2013-10-31 10:57:56

我在这里缺少什么?

使用PostgreSQL在Rails 4上。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我发现我需要为Postgres明确地提供格式。在我的情况下,我用这个:

Time.at(time_param).to_formatted_s(:db)

在你的问题中你需要使用.to_formatted_s(:db),就像这样

User.find(8).update_attributes!(:watched_post_its_at => Time.now.to_formatted_s(:db))

我检查了我的代码并且它有效 enter image description here