Skip to content

Commit

Permalink
Set relative url root in assets when controller isn't available for S…
Browse files Browse the repository at this point in the history
…prockets. Fix #2435

See rails/sass-rails#42 for details
  • Loading branch information
guilleiguaran committed Sep 13, 2011
1 parent 170f401 commit 389345a
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions helpers/rails_helper.rb
Expand Up @@ -17,6 +17,7 @@ def asset_paths
paths.asset_digests = asset_digests
paths.compile_assets = compile_assets?
paths.digest_assets = digest_assets?
paths.relative_url_root = config.action_controller.relative_url_root
paths
end
end
Expand Down Expand Up @@ -96,12 +97,17 @@ def asset_environment
end

class AssetPaths < ::ActionView::AssetPaths #:nodoc:
attr_accessor :asset_environment, :asset_prefix, :asset_digests, :compile_assets, :digest_assets
attr_accessor :asset_environment, :asset_prefix, :asset_digests, :compile_assets,
:digest_assets, :relative_url_root

class AssetNotPrecompiledError < StandardError; end

def compute_public_path(source, dir, ext=nil, include_host=true, protocol=nil)
super(source, asset_prefix, ext, include_host, protocol)
def compute_public_path(source, dir, ext = nil, include_host = true, protocol = nil)
public_path = super(source, asset_prefix, ext, include_host, protocol)
if !is_uri?(public_path) && relative_url_root
public_path = rewrite_relative_url_root(public_path, relative_url_root)
end
public_path
end

# Return the filesystem path for the source
Expand Down Expand Up @@ -149,6 +155,10 @@ def rewrite_extension(source, dir, ext)
source
end
end

def relative_url_root
has_request? ? super : @relative_url_root
end
end
end
end
Expand Down

0 comments on commit 389345a

Please sign in to comment.