Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8740

Show
Ignore:
Timestamp:
01/27/08 01:10:48 (6 months ago)
Author:
nzkoz
Message:

Don't repeatedly add relative_url_root to asset sources. Closes #10767 [tomtoday, Koz]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/lib/action_view/helpers/asset_tag_helper.rb

    r8717 r8740  
    451451                source = "/#{dir}/#{source}" unless source[0] == ?/ 
    452452                if has_request 
    453                   source = "#{@controller.request.relative_url_root}#{source}" 
     453                  unless source =~ %r{^#{@controller.request.relative_url_root}/} 
     454                    source = "#{@controller.request.relative_url_root}#{source}" 
     455                  end 
    454456                end 
    455                 rewrite_asset_path!(source) 
     457                source = rewrite_asset_path(source) 
    456458 
    457459                if include_host 
     
    505507        end 
    506508 
    507         # Break out the asset path rewrite so you wish to put the asset id 
     509        # Break out the asset path rewrite in case plugins wish to put the asset id 
    508510        # someplace other than the query string. 
    509         def rewrite_asset_path!(source) 
     511        def rewrite_asset_path(source) 
    510512          asset_id = rails_asset_id(source) 
    511           source << "?#{asset_id}" if !asset_id.blank? 
     513          if asset_id.blank? 
     514            source 
     515          else 
     516            source + "?#{asset_id}" 
     517          end 
    512518        end 
    513519 
  • trunk/actionpack/test/template/asset_tag_helper_test.rb

    r8717 r8740  
    433433    assert_dom_equal(%(/collaboration/hieraki/stylesheets/style.css), stylesheet_path("style")) 
    434434    assert_dom_equal(%(/collaboration/hieraki/images/xml.png), image_path("xml.png")) 
     435    assert_dom_equal(%(<img alt="Mouse" onmouseover="this.src='/collaboration/hieraki/images/mouse_over.png'" onmouseout="this.src='/collaboration/hieraki/images/mouse.png'" src="/collaboration/hieraki/images/mouse.png" />), image_tag("mouse.png", :mouseover => "/images/mouse_over.png")) 
     436    assert_dom_equal(%(<img alt="Mouse2" onmouseover="this.src='/collaboration/hieraki/images/mouse_over2.png'" onmouseout="this.src='/collaboration/hieraki/images/mouse2.png'" src="/collaboration/hieraki/images/mouse2.png" />), image_tag("mouse2.png", :mouseover => image_path("mouse_over2.png"))) 
    435437  end 
    436438   
     
    445447    assert_dom_equal(%(http://assets.example.com/collaboration/hieraki/stylesheets/style.css), stylesheet_path("style")) 
    446448    assert_dom_equal(%(http://assets.example.com/collaboration/hieraki/images/xml.png), image_path("xml.png")) 
     449    assert_dom_equal(%(<img alt="Mouse" onmouseover="this.src='http://assets.example.com/collaboration/hieraki/images/mouse_over.png'" onmouseout="this.src='http://assets.example.com/collaboration/hieraki/images/mouse.png'" src="http://assets.example.com/collaboration/hieraki/images/mouse.png" />), image_tag("mouse.png", :mouseover => "/images/mouse_over.png")) 
     450    assert_dom_equal(%(<img alt="Mouse2" onmouseover="this.src='http://assets.example.com/collaboration/hieraki/images/mouse_over2.png'" onmouseout="this.src='http://assets.example.com/collaboration/hieraki/images/mouse2.png'" src="http://assets.example.com/collaboration/hieraki/images/mouse2.png" />), image_tag("mouse2.png", :mouseover => image_path("mouse_over2.png"))) 
    447451  ensure 
    448452    ActionController::Base.asset_host = ""