diff options
author | Jonathan del Strother <jon.delStrother@audioboo.fm> | 2011-11-17 11:48:12 +0000 |
---|---|---|
committer | Jonathan del Strother <jon.delStrother@audioboo.fm> | 2011-12-01 11:57:33 +0000 |
commit | 88237daae48c9867fca3b0e14e779d4f4cdd88d0 (patch) | |
tree | 822b78cb2d4d925e534ca403cd6df508afbeef06 | |
parent | cb7145700d6fd31ef316d97590815ce73bb08cbd (diff) | |
download | rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.gz rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.bz2 rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.zip |
Leave default_asset_host_protocol unset
When default_asset_host_protocol is left as nil, it will use absolute protocols when a request is present, and relative protocols otherwise (eg in asset generation)
-rw-r--r-- | actionpack/lib/sprockets/railtie.rb | 2 | ||||
-rw-r--r-- | railties/test/application/assets_test.rb | 22 |
2 files changed, 22 insertions, 2 deletions
diff --git a/actionpack/lib/sprockets/railtie.rb b/actionpack/lib/sprockets/railtie.rb index 3d330bd91a..a7eb03acaf 100644 --- a/actionpack/lib/sprockets/railtie.rb +++ b/actionpack/lib/sprockets/railtie.rb @@ -10,8 +10,6 @@ module Sprockets # TODO: Get rid of config.assets.enabled class Railtie < ::Rails::Railtie - config.action_controller.default_asset_host_protocol = :relative - rake_tasks do load "sprockets/assets.rake" end diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb index d4ffbe3d66..a22013f81c 100644 --- a/railties/test/application/assets_test.rb +++ b/railties/test/application/assets_test.rb @@ -451,6 +451,28 @@ module ApplicationTests assert_equal 0, files.length, "Expected application.js asset to be removed, but still exists" end + test "asset urls should use the request's protocol by default" do + app_with_assets_in_view + add_to_config "config.asset_host = 'example.com'" + require "#{app_path}/config/environment" + class ::PostsController < ActionController::Base; end + + get '/posts', {}, {'HTTPS'=>'off'} + assert_match('src="http://example.com/assets/application.js', last_response.body) + get '/posts', {}, {'HTTPS'=>'on'} + assert_match('src="https://example.com/assets/application.js', last_response.body) + end + + test "asset urls should be protocol-relative if no request is in scope" do + app_file "app/assets/javascripts/image_loader.js.erb", 'var src="<%= image_path("rails.png") %>";' + add_to_config "config.assets.precompile = %w{image_loader.js}" + add_to_config "config.asset_host = 'example.com'" + precompile! + + assert_match 'src="//example.com/assets/rails.png"', File.read("#{app_path}/public/assets/image_loader.js") + end + + private def app_with_assets_in_view |