From fcb45e5ec3c8ab7b11391c0639609918876ddbb2 Mon Sep 17 00:00:00 2001 From: Tim Harper Date: Mon, 20 Oct 2008 13:21:59 -0500 Subject: Ensure ActionView::Helpers::AssetTagHelper::AssetTag::Cache is cleared before loading so changes to asset files are picked up by the broswer [#1233 state:resolved] Signed-off-by: Joshua Peek --- actionpack/lib/action_controller/dispatcher.rb | 3 ++- actionpack/test/controller/dispatcher_test.rb | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_controller/dispatcher.rb b/actionpack/lib/action_controller/dispatcher.rb index 90c8400c11..28f8ce3d53 100644 --- a/actionpack/lib/action_controller/dispatcher.rb +++ b/actionpack/lib/action_controller/dispatcher.rb @@ -39,7 +39,7 @@ module ActionController # Add a preparation callback. Preparation callbacks are run before every # request in development mode, and before the first request in production # mode. - # + # # An optional identifier may be supplied for the callback. If provided, # to_prepare may be called again with the same identifier to replace the # existing callback. Passing an identifier is a suggested practice if the @@ -144,6 +144,7 @@ module ActionController Routing::Routes.reload ActionController::Base.view_paths.reload! + ActionView::Helpers::AssetTagHelper::AssetTag::Cache.clear end # Cleanup the application by clearing out loaded classes so they can diff --git a/actionpack/test/controller/dispatcher_test.rb b/actionpack/test/controller/dispatcher_test.rb index 911fcab67b..3ee78a6156 100644 --- a/actionpack/test/controller/dispatcher_test.rb +++ b/actionpack/test/controller/dispatcher_test.rb @@ -26,9 +26,17 @@ class DispatcherTest < Test::Unit::TestCase end def test_clears_dependencies_after_dispatch_if_in_loading_mode - ActionController::Routing::Routes.expects(:reload).once ActiveSupport::Dependencies.expects(:clear).once + dispatch(@output, false) + end + + def test_reloads_routes_before_dispatch_if_in_loading_mode + ActionController::Routing::Routes.expects(:reload).once + dispatch(@output, false) + end + def test_clears_asset_tag_cache_before_dispatch_if_in_loading_mode + ActionView::Helpers::AssetTagHelper::AssetTag::Cache.expects(:clear).once dispatch(@output, false) end -- cgit v1.2.3