diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-17 14:10:24 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-17 14:10:24 +0000 |
commit | 7cda49248b5269b1aaf96729a31f85a315fbb764 (patch) | |
tree | 629a18744e19eb0e7d1e424d2588782702e871d9 /actionpack/lib/action_controller | |
parent | 7ff635c8eb84253da909c55c0b01ae38fe17d4a0 (diff) | |
download | rails-7cda49248b5269b1aaf96729a31f85a315fbb764.tar.gz rails-7cda49248b5269b1aaf96729a31f85a315fbb764.tar.bz2 rails-7cda49248b5269b1aaf96729a31f85a315fbb764.zip |
Fixed page caching for non-vhost applications living underneath the root #1004 [Ben Schumacher]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1193 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/caching.rb | 6 | ||||
-rw-r--r-- | actionpack/lib/action_controller/url_rewriter.rb | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb index 159a1ba14e..5b5cdaa2e3 100644 --- a/actionpack/lib/action_controller/caching.rb +++ b/actionpack/lib/action_controller/caching.rb @@ -114,10 +114,10 @@ module ActionController #:nodoc: return unless perform_caching if options[:action].is_a?(Array) options[:action].dup.each do |action| - self.class.expire_page(url_for(options.merge({ :only_path => true, :action => action }))) + self.class.expire_page(url_for(options.merge({ :only_path => true, :skip_relative_url_root => true, :action => action }))) end else - self.class.expire_page(url_for(options.merge({ :only_path => true }))) + self.class.expire_page(url_for(options.merge({ :only_path => true, :skip_relative_url_root => true }))) end end @@ -126,7 +126,7 @@ module ActionController #:nodoc: # cache_page "I'm the cached content", :controller => "lists", :action => "show" def cache_page(content = nil, options = {}) return unless perform_caching && caching_allowed - self.class.cache_page(content || @response.body, url_for(options.merge({ :only_path => true }))) + self.class.cache_page(content || @response.body, url_for(options.merge({ :only_path => true, :skip_relative_url_root => true }))) end private diff --git a/actionpack/lib/action_controller/url_rewriter.rb b/actionpack/lib/action_controller/url_rewriter.rb index e79ac4daa1..4313340892 100644 --- a/actionpack/lib/action_controller/url_rewriter.rb +++ b/actionpack/lib/action_controller/url_rewriter.rb @@ -2,7 +2,7 @@ module ActionController # Rewrites URLs for Base.redirect_to and Base.url_for in the controller. class UrlRewriter #:nodoc: - RESERVED_OPTIONS = [:anchor, :params, :only_path, :host, :protocol, :trailing_slash] + RESERVED_OPTIONS = [:anchor, :params, :only_path, :host, :protocol, :trailing_slash, :skip_relative_url_root] def initialize(request, parameters) @request, @parameters = request, parameters end @@ -23,7 +23,7 @@ module ActionController rewritten_url << (options[:protocol] || @request.protocol) unless options[:only_path] rewritten_url << (options[:host] || @request.host_with_port) unless options[:only_path] - rewritten_url << @request.relative_url_root.to_s + rewritten_url << @request.relative_url_root.to_s unless options[:skip_relative_url_root] rewritten_url << path rewritten_url << '/' if options[:trailing_slash] rewritten_url << "##{options[:anchor]}" if options[:anchor] |