Bla*_*man 9 ruby ruby-on-rails
在rails中处理日期和时区的最佳方法是什么?
Scenerio:我有客户在世界各地的网站上购买产品,当他们登录时,他们将能够选择他们来自哪个时区.
所以我相信我应该在UTC中存储数据库中的所有内容,然后在前端我应该将日期转换为用户设置的时区首选项.
他们的任何陷阱与Ruby和Rails和日期时间等?
我是rails的新手,所以我正在寻找如何正确处理这个问题的指导.
Wiz*_*Ogz 11
幸运的是,Rails几乎可以为你处理事情.正如其他人所指出的,日期由AR以UTC格式存储.如果您time_zone的用户表有一个字段,您可以执行以下操作:
# application.rb
config.time_zone = "Mountain Time (US & Canada)" # Default time zone
Run Code Online (Sandbox Code Playgroud)
-
# application_controller.rb
before_filter :set_time_zone, :if => :logged_in?
protected
def set_time_zone
Time.zone = current_user.time_zone if current_user.time_zone
end
Run Code Online (Sandbox Code Playgroud)
所有日期时间都应显示在视图中的适当时区.
我有一个生产应用程序不喜欢使用默认时区,但我不记得它运行的是哪个版本的Rails/Ruby.
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |