ruby-on-rails - Rails - 根据用户选择动态设置时区

标签 ruby-on-rails timezone

非常感谢您为我的新网站开发的一项功能所提供的帮助!

这是关于动态时区的,根据要求,用户可以从一组预定义的时区中进行选择,比如 us_zones。当用户选择时区时,整个站点都应设置/更新为时区。

但是,目前新时区不会更新到 Apache 中,时区更新只会在服务器重启时发生。

我在考虑使用 Rails Initializer 类和 initialize_time_zone() 方法,但即使这样也需要重新启动 Rails 服务器。

提前致谢!

最佳答案

像这样放置应用程序 Controller :

def set_api_time_zone
  utc_offset = current_user_session && current_user_session.user ? current_user_session.user.time_zone_offset.to_i.minutes : 0
  user_timezone = ActiveSupport::TimeZone[utc_offset]
  Time.zone = user_timezone if user_timezone
end

关于ruby-on-rails - Rails - 根据用户选择动态设置时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800301/

相关文章:

java - 如何在 Java 中转换 UTC 和本地时区

c# - 无法让 TimeZone 显示长名称而不是缩写 (Xamarin Android)

html - 如何更改所需错误消息的语言?

node.js - 在 webpack 中使用 moment-timezone

ruby-on-rails - 我可以在 Rails 4 的什么地方存储站点范围的变量?

ruby-on-rails - 了解Ruby on Rails的渲染时间

javascript - 如何跨时区正确转换时间?

java - TimeZone with Calendar 令人困惑的结果

mysql - 你如何在 (?) 调用中执行 SQL 查找?

ruby-on-rails - 我在osx上安装了一个docker,现在bundler非常慢