2011-09-28 5 views

答えて

32

我々は見つける:

# 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?が設定されている静的資産の?body=1 or true

Asset.bodyのように定義されている場合:

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

一方資産を自己に戻す「ラック対応のボディオブジェクト」

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

我々はbundled_assetを見て、Asset.bodyだけでなくすべての依存関係を含めた資産の体を取り出すとして再定義されます。 Asset.to_aは、アセット自体とそのすべての依存関係をアセットとしてRackに渡して取得することとして定義されています。

このように、アセットは結合されずに個々のオブジェクトとして扱われるため、個々のCSSファイルはまだ個別です。

関連する問題