Fixed more caching and routing love

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@728 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2005-02-21 01:09:15 +00:00
parent 48a44b77c1
commit 1677404893
2 changed files with 8 additions and 5 deletions

@ -67,7 +67,7 @@ module ClassMethods
def expire_page(path)
return unless perform_caching
File.delete(page_cache_path(path)) if File.exists?(page_cache_path(path))
logger.info "Expired page: #{path}" unless logger.nil?
logger.info "Expired page: #{page_cache_file(path)}" unless logger.nil?
end
# Manually cache the +content+ in the key determined by +path+. Example:
@ -76,7 +76,7 @@ def cache_page(content, path)
return unless perform_caching
FileUtils.makedirs(File.dirname(page_cache_path(path)))
File.open(page_cache_path(path), "w+") { |f| f.write(content) }
logger.info "Cached page: #{path}" unless logger.nil?
logger.info "Cached page: #{page_cache_file(path)}" unless logger.nil?
end
# Caches the +actions+ using the page-caching approach that'll store the cache in a path within the page_cache_directory that
@ -89,8 +89,12 @@ def caches_page(*actions)
end
private
def page_cache_file(path)
(path.empty? ? "/index" : path) + ".html"
end
def page_cache_path(path)
page_cache_directory + (path.empty? ? "/index" : path) + ".html"
page_cache_directory + page_cache_file(path)
end
end

@ -214,11 +214,10 @@ def generate(options, request)
options = options.symbolize_keys
defaults = request.path_parameters.symbolize_keys
options = defaults if options.empty? # Get back the current url if no options was passed
expand_controller_path!(options, defaults)
defaults.delete_if {|k, v| options.key?(k) && options[k].nil?} # Remove defaults that have been manually cleared using :name => nil
options = defaults if options.empty? # Get back the current url if no options was passed
failures = []
selected = nil
self.each do |route|