2011-09-28 14 views

cevap

32

buluruz:

# Returns a 200 OK response tuple 
    def ok_response(asset, env) 
    if body_only?(env) 
     [ 200, headers(env, asset, Rack::Utils.bytesize(asset.body)), [asset.body] ] 
    else 
     [ 200, headers(env, asset, asset.length), asset ] 
    end 
    end 

body_only? ayarlanmış statik bir varlık için ?body=1 or true

, Asset.body olarak tanımlandığında:

def body 
    # File is read everytime to avoid memory bloat of large binary files 
    pathname.open('rb') { |f| f.read } 
end 

Oysa varlığı geri almak kendini geri Bir "Raf özellikli vücut nesne"

# Add enumerator to allow `Asset` instances to be used as Rack 
# compatible body objects. 
def each 
    yield to_s 
end 

biz bundled_asset bakmak, Asset.body değil sadece herhangi bağımlılıkları dahil varlığın vücudu alınırken olarak yeniden tanımlanır. Asset.to_a, varlığın kendisinin yanı sıra tüm bağımlılıklarını Rack'a iletilen bir dizi olarak alması olarak tanımlanır. Bu şekilde

, varlıkları bir araya kombine ancak bireysel nesneler olarak alınmadığı, bu nedenle bireysel CSS dosyaları hala bireysel.