1

rails sWEBrick サーバーを使用して Rails アプリを開発しています。何らかの理由で、開発モードにいるにもかかわらず、コントローラーのクラス変数値がページ要求間で保持されているため、コントローラー クラスの 1 つがまだキャッシュされているように見えます。

config/environments/development.rb ファイルに次の設定があることを考えると、これは予想される動作ですか?

config.cache_classes = false
config.action_controller.perform_caching = false

ありがとう!

更新:本当に、新しいページに移動するたびにそれらの値がクリアされると予想されるのに、コントローラーのクラス変数がページ要求間で値を保存し続ける理由を理解したいと思っています。

4

1 に答える 1

3

デフォルトでは、Rails はクラスが変更された場合にのみクラスをリロードします。これは設定で変更可能

config.reload_classes_only_on_change = false

これにより、リクエストごとにクラスがリロードされ、クラス変数が再初期化されます。

于 2012-05-03T03:52:10.870 に答える