如何将DB中保留的时区设置为EST,而不会破坏Rails中的created_at / updated_at

时间:2014-08-26 21:28:04

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

通常在Rails中设置时区的方式

(application.rb中)

config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = 'Central Time (US & Canada)'

当我这样做时,会发生什么: 我能够在数据库中看到created_at / updated_at,但是当我得到Model对象并调用" created_at"财产得到的时间,它是空的。

例如: 在我的数据库中我有:

<Post id: 4, 
 author: "Anonymous", title: "Test", 
 text: "Test Title", 
 created_at: "2014-08-26 21:00:25", 
 updated_at: "2014-08-26 21:00:25">

但是当我抓住这个帖子时

mypost = Post.find(4)
mypost.created_at     #this is empty
mypost.updated_at     #this is empty
mypost.title          #text
mypost.author         #Anonymous

我知道即使我在Active Record中使用默认时区,它也会自动将时间转换为我的本地时区,但使用不同时区的db非常烦人。有人对此有任何想法吗?

感谢。

0 个答案:

没有答案