diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2011-12-14 07:07:05 -0800 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2011-12-14 07:07:05 -0800 |
commit | 384a60a16c7b881ed22d29c0babcdd2cb84f0790 (patch) | |
tree | 91805d11619f59b574c80ad5497d5c035a26ed00 /actionpack | |
parent | bb44e5a80ac62f87a40122a213038a746f2bc289 (diff) | |
parent | 5f67cfeda116f2b932ef72781420aa37e62437ca (diff) | |
download | rails-384a60a16c7b881ed22d29c0babcdd2cb84f0790.tar.gz rails-384a60a16c7b881ed22d29c0babcdd2cb84f0790.tar.bz2 rails-384a60a16c7b881ed22d29c0babcdd2cb84f0790.zip |
Merge pull request #3981 from choonkeat/master
Fix url_for options[:subdomain] to allow objects as values
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/http/url.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/url_for_test.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/url.rb b/actionpack/lib/action_dispatch/http/url.rb index 129a8b1031..64459836b5 100644 --- a/actionpack/lib/action_dispatch/http/url.rb +++ b/actionpack/lib/action_dispatch/http/url.rb @@ -70,7 +70,7 @@ module ActionDispatch host = "" unless options[:subdomain] == false - host << (options[:subdomain] || extract_subdomain(options[:host], tld_length)) + host << (options[:subdomain] || extract_subdomain(options[:host], tld_length)).to_param host << "." end host << (options[:domain] || extract_domain(options[:host], tld_length)) diff --git a/actionpack/test/controller/url_for_test.rb b/actionpack/test/controller/url_for_test.rb index dc07e07cb9..288efbf7c3 100644 --- a/actionpack/test/controller/url_for_test.rb +++ b/actionpack/test/controller/url_for_test.rb @@ -71,6 +71,14 @@ module AbstractController ) end + def test_subdomain_may_be_object + model = mock(:to_param => 'api') + add_host! + assert_equal('http://api.basecamphq.com/c/a/i', + W.new.url_for(:subdomain => model, :controller => 'c', :action => 'a', :id => 'i') + ) + end + def test_subdomain_may_be_removed add_host! assert_equal('http://basecamphq.com/c/a/i', |