在升级到Rails3的应用程序中设置config.Time_zone之后,Time.zone为nil



正在将应用程序从Ruby 1.8.6/Rails 2.3.5升级到Ruby 1.8.7/Rails3.0.11。

在application.rb中,config语句已被(从environment.rb)移动到:中

module AppName
class Application < Rails::Application
...
end
end

块,包括语句:

config.time_zone = 'Eastern Time (US & Canada)'

在旧的environment.rb文件中,还有一些用于初始化一些常量的代码,我已经将这些代码移到了application.rb中

Time.zone.parse(external_config_date)

正在产生以下错误:

config/application.rb:49:nil:NilClass(NoMethodError)的未定义方法"parse">

我对此有点困惑(就像Rails的date/times:-/经常发生的那样);大多数情况下,Time.zone是访问默认时区的一种可接受的方式,但我也看到它说"zone"是Time的实例方法,而不是类方法。

对此有任何见解(或关于如何进一步排除故障的想法),不胜感激!

将额外的配置代码从environment.rb移动到application.rb似乎是我的错误"Timezone.parse"似乎是一个Rails插件,它还没有在application.rb中启用。将配置代码移回environment.rb的底部,在行之后

AppName::Application.initialize!

让它发挥作用。

相关内容

  • 没有找到相关文章

最新更新