Geliştirme aşamasında, tüm javascript varlıkları body=1
get değişkenine ekleniyor. Bu aslında ne yapıyor? Cer kaynak kodu ile Trol Ağlarında: Gövde = 1 raylarda 3.1 varlık borusu ne yapar?
http://localhost:3000/assets/application.js?body=1
Geliştirme aşamasında, tüm javascript varlıkları body=1
get değişkenine ekleniyor. Bu aslında ne yapıyor? Cer kaynak kodu ile Trol Ağlarında: Gövde = 1 raylarda 3.1 varlık borusu ne yapar?
http://localhost:3000/assets/application.js?body=1
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.