0

アプリケーションをRuby1.8.6/Rails2.3.5からRuby1.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の未定義のメソッド `parse'(NoMethodError)

私はこれに少し困惑しています(Railsの日付/時刻でよくあることです:-/); ほとんどの場合、Time.zoneはデフォルトのタイムゾーンにアクセスするための許容可能な方法のように見えますが、「zone」はクラスメソッドではなくTimeのインスタンスメソッドであるとも言われています。

これに関する洞察(またはさらにトラブルシューティングする方法についての考え)は大歓迎です!

4

1 に答える 1

0

余分な構成コードをenvironment.rbからapplication.rbに移動するのは、ここでの私の間違いのようです。「Time.zone.parse」はRailsアドオンのようですが、application.rbではまだ有効になっていません。行の後、設定コードをenvironment.rbの一番下に戻します

AppName::Application.initialize!

動作しました。

于 2012-12-10T22:39:49.237 に答える