aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/asset_tag_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_view/helpers/asset_tag_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/asset_tag_helper.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
index 12fbbb0dd6..883cd31373 100644
--- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
@@ -450,9 +450,11 @@ module ActionView
else
source = "/#{dir}/#{source}" unless source[0] == ?/
if has_request
- source = "#{@controller.request.relative_url_root}#{source}"
+ unless source =~ %r{^#{@controller.request.relative_url_root}/}
+ source = "#{@controller.request.relative_url_root}#{source}"
+ end
end
- rewrite_asset_path!(source)
+ source = rewrite_asset_path(source)
if include_host
host = compute_asset_host(source)
@@ -504,11 +506,15 @@ module ActionView
end
end
- # Break out the asset path rewrite so you wish to put the asset id
+ # Break out the asset path rewrite in case plugins wish to put the asset id
# someplace other than the query string.
- def rewrite_asset_path!(source)
+ def rewrite_asset_path(source)
asset_id = rails_asset_id(source)
- source << "?#{asset_id}" if !asset_id.blank?
+ if asset_id.blank?
+ source
+ else
+ source + "?#{asset_id}"
+ end
end
def javascript_src_tag(source, options)