【问题标题】:Rails - Setting time_zone dynamically as per user selectionRails - 根据用户选择动态设置 time_zone
【发布时间】:2012-03-21 07:31:35
【问题描述】:

感谢您对我的新网站功能之一的帮助!

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

但是,目前新的时区并没有更新到 Apache 中,时区的更新仅在服务器重新启动时发生。

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

提前致谢!

【问题讨论】:

    标签: ruby-on-rails timezone


    【解决方案1】:

    放置到应用程序控制器,如下所示:

    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
    

    【讨论】:

    • 感谢您的提示,将使用类似的提示,但是我会按照建议使用 TimeZone 而不是偏移量 DateTime.now.in_time_zone('Pacific Time (US & Canada)') here我有预定义的时区
    猜你喜欢
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2021-03-11
    • 2020-08-13
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多