ruby-on-rails - 多个服务器上 Rails 中奇怪的 ActiveRecord 时区行为

标签 ruby-on-rails ruby activerecord amazon-s3

我们的应用程序托管在 AWS 上,拥有 8 个应用程序服务器(Unicorn)+ 3 个 RDS(1 个主服务器 + 两个只读副本)+ 2 个 Redis(主服务器 + 从属服务器),全部位于一个区域 所有 8 个应用程序服务器都具有 BST 时区和还有2个redis,我们在application.rb中将时区应用为“伦敦”,

问题出在显示页面开始日期、结束日期显示值有时显示为开始日期星期五 01-10-2015 - 18:30,有时显示为星期五 01-10- 2015 - 19:30 刷新值体现(ctrl + F5)。

有人遇到过类似的问题吗?

拉维

最佳答案

您可以通过在 application_controller 中添加 around filter 来覆盖 active_record - 时区的奇怪行为来解决此问题。

around_filter :use_time_zone

private

def use_time_zone(&block)
  Time.use_zone('London', &block)
end

因此,每当默认时区更改为 UTC 时,它将覆盖并设置为 BST。

关于ruby-on-rails - 多个服务器上 Rails 中奇怪的 ActiveRecord 时区行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036064/

相关文章:

ruby-on-rails - 如何停止从 ActionCable 中的特定广播流式传输?

javascript - 在 .js.erb 文件中的 Ajax 调用中创建 RoR 链接

ruby - 如何搜索有用的 ruby

java - Play Framework vs Scooter Framework vs ActiveWeb——比较?

ruby-on-rails - 第 9 章,Hartl ROR 第 9.2.2 节

ruby-on-rails - 使用 Rails 重定向,但保留 Google Analytics 的原始推荐 URL

ruby - 在 Ruby 中反转哈希

mysql - 想要在数组中查询并获取传递给查询的 id 的结果

ruby-on-rails - ActiveRecord 查找不存在与属性关联的实例

ruby-on-rails - 同一模型之间具有多个 has_many 关联的多态关联