动态设置应用时区(rails)

时间:2011-09-08 18:25:09

标签: ruby-on-rails timezone

我需要根据数据库中的记录设置config.time_zone。在rails初始化块内部,我无法访问模型,因为它们尚未加载,我认为。

我尝试在没有模型的情况下使用下面的代码运行查询,但此时尚未建立连接。

require 'active_record'
timezone = ActiveRecord::Base.connection.execute

创建一个before过滤器并为每个请求设置Time.zone对我没有帮助。

有解决方法吗?

更新

想到把它放在environment.rb:

的末尾
timezone = SiteConfig.find_by_attribute("timezone").attribute_value
zone_default = Time.__send__(:get_zone, timezone)
Time.zone_default = zone_default
ActiveRecord::Base.time_zone_aware_attributes = true
ActiveRecord::Base.default_timezone = :utc

代码是从rails初始化文件中提取的。

0 个答案:

没有答案