Tag: 单件

在请求期间设置Time.zone:线程安全吗?

我想让我的应用用户指定一个时区,然后在每个请求的开头设置他们的时区。 在Rails,AFAICT中,这是通过设置单例对象来完成的: Time.zone = “America/Los_Angeles” 我对最佳实践的理解是,一般来说,应该将单例设置为ONCE。 例如,在应用程序配置中。 从类似问题的答案,有人建议在ApplicationController中设置它 class ApplicationController ‘London’ Time.zone = current_user.time_zone if current_user && current_user.time_zone end end 这样安全吗? 或者我冒一个线程影响另一个线程的风险? 我将尝试对此进行测试,但这不是最简单的测试方案,所以我想我应该看看是否有人已经这样做了。