diff --git a/lib/sprockets/railtie.rb b/lib/sprockets/railtie.rb index 3ff11003..fc11ff1f 100644 --- a/lib/sprockets/railtie.rb +++ b/lib/sprockets/railtie.rb @@ -201,6 +201,11 @@ def self.build_manifest(app) Sprockets::Manifest.new(app.assets, path, config.assets.manifest) end + config.after_initialize do |app| + config.action_controller.asset_host ||= app.config.asset_host + config.action_controller.relative_url_root ||= app.config.relative_url_root + end + config.after_initialize do |app| config = app.config diff --git a/test/test_railtie.rb b/test/test_railtie.rb index 8e964ee5..988dfe7a 100644 --- a/test/test_railtie.rb +++ b/test/test_railtie.rb @@ -410,4 +410,18 @@ def test_quiet_assets_inserts_middleware assert middleware.include?(Sprockets::Rails::QuietAssets) assert middleware.each_cons(2).include?([Sprockets::Rails::QuietAssets, Rails::Rack::Logger]) end + + def test_config_asset_host_can_be_set_inside_an_initializer + app.configure do + initializer 'asset_host_and_relative_url_root' do |app| + app.config.asset_host = 'https://example.com' + app.config.relative_url_root = '/myassets' + end + end + app.initialize! + context_class = Sprockets::Railtie.build_environment(app).context_class + + assert_equal 'https://example.com', context_class.config.asset_host + assert_equal '/myassets', context_class.config.relative_url_root + end end