diff options
author | Nicholas Seckar <nseckar@gmail.com> | 2006-09-06 22:21:36 +0000 |
---|---|---|
committer | Nicholas Seckar <nseckar@gmail.com> | 2006-09-06 22:21:36 +0000 |
commit | 00685ad8fdc9f15d935aebe52597037f3ca93be8 (patch) | |
tree | bf1298623047c9b5f3262bd0db651c92318a726b /actionpack/lib/action_controller/url_rewriter.rb | |
parent | 93659978d50cd95936f81f38a57028cc68a235ee (diff) | |
download | rails-00685ad8fdc9f15d935aebe52597037f3ca93be8.tar.gz rails-00685ad8fdc9f15d935aebe52597037f3ca93be8.tar.bz2 rails-00685ad8fdc9f15d935aebe52597037f3ca93be8.zip |
Update UrlWriter to support :only_path.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5054 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/url_rewriter.rb')
-rw-r--r-- | actionpack/lib/action_controller/url_rewriter.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/url_rewriter.rb b/actionpack/lib/action_controller/url_rewriter.rb index 4735d03035..0a5aab14d1 100644 --- a/actionpack/lib/action_controller/url_rewriter.rb +++ b/actionpack/lib/action_controller/url_rewriter.rb @@ -40,13 +40,18 @@ module ActionController def url_for(options) options = self.class.default_url_options.merge(options) - raise "Missing host to link to! Please provide :host parameter or set default_url_options[:host]" unless options[:host] - url = '' - url << (options.delete(:protocol) || 'http') - url << '://' - url << options.delete(:host) - url << ":#{options.delete(:port)}" if options.key?(:port) + unless options.delete :only_path + url << (options.delete(:protocol) || 'http') + url << '://' + + raise "Missing host to link to! Please provide :host parameter or set default_url_options[:host]" unless options[:host] + url << options.delete(:host) + url << ":#{options.delete(:port)}" if options.key?(:port) + else + # Delete the unused options to prevent their appearance in the query string + [:protocol, :host, :port].each { |k| options.delete k } + end url << Routing::Routes.generate(options, {}) return url end |