私の現在の回避策は、コントローラーを有効perform_caching
にしてからリロードすることです。
class ProjectsCachingTest < ActionController::IntegrationTest
def setup
# force the controller to be reloaded when caching is enabled
ActionController::Base.perform_caching = true
load "projects_controller.rb"
end
def teardown
# undo the actions above
ActionController::Base.perform_caching = false
load "projects_controller.rb"
end
end
Rails 2の最新バージョンでは、発生している問題はクラスメソッドcaches_action
とに関係していcaches_page
ます。どちらもキャッシュを実行するためのアラウンドフィルターを作成しますが、perform_caching
が有効になっている場合に限ります。
したがって、perform_caching
実行時に変更しても、期待される周囲のフィルターは再現されません。上記の例は、コントローラーを強制的に再評価する1つの方法です。