正在将应用程序从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!
让它发挥作用。