2016-09-07 4 views
0

現在、Ruby 1.9.3、Rails 3.1を使用しています(すべてのアプリケーションをアップグレードするために努力しています)。Rails 3.1開発環境でモデルをリロードしたときにイニシャライザが実行されない

モジュールを使用しています(これを 'OurModule'と呼びましょう)メソッドを追加します(これは 'OurAddOnMethod'をgemModelという名前のモデルに定義します) 「設定/初期化子」ディレクトリに住むファイル

ファイルはモジュールを定義して、モデルに含めるために、これを呼び出します。開発するとき

# Include the extension 
GemModel.send(:include, OurModule) 

、物事はほとんどがうまく動作しますが、定期的に我々基本的に「GemModelの未定義メソッド 'OurAddOnMethod'」というエラーが発生します。サーバーを再起動すると問題が解決します(しばらく)

モデルが開発環境の変更に伴って定期的にリロードされ、初期化子がその時にリロードされないように見えるため、これが起こっていると思われます。これは、これを設定する最善の方法ではないようです。それに対処するのはかなりイライラします。

これを達成するために誰かがより良い方法で私を啓発することはできますか?

答えて

0

私は、次のコードをラップし、初期化子でそれを維持する使用して終了:

ActionDispatch::Callbacks.to_prepare do 
    # configure stuff or initialize 
end 

私は本当に悪い感じ、私は完全に完全にその答えへのリンク(鉱山をカバーするように見えるこの質問を逃しました私は使用しました):

https://stackoverflow.com/a/8636163/287516

関連する問題