2

我的消息表中有一个名为“Archived”的列和一个按钮,当按下该按钮时,会将当前时间和日期写入 db 列。现在我可以让它写时间,但是它在错误的时区。在线查看后,我创建了以下代码,该代码当前正在保存,但不在正确的时区:

控制器代码

def archive_message
  @message = Message.find(params[:id])
  @message.archived = DateTime.now.in_time_zone "Central Time (US & Canada)"
  @message.save

  redirect_to '/messages'
end

我的路线(我相信这没问题)

post 'messages/:id/archive_message' => 'Messages#archive_message', :as => 'archive_message'

任何建议都非常感谢。

4

1 回答 1

1

再次编辑:好的,这是 UTC 时间,所以它正在工作。谢谢大家。

编辑:我刚刚关闭了重新启动的所有内容,现在它无法正常工作,它再次将时间节省了 5 个小时,我不知道为什么。

在 config/application.rb 中将以下内容添加到模块代码中

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

和我的控制器

@message.archived = DateTime.current

谢谢大家

于 2013-05-03T20:28:39.457 回答