NOTE / Ruby-On-Rails

Asset Pipeline 說明

在以前的Rails版本中,所有靜態資源都放在public文件夾的子文件夾中,例如images,javascripts和stylesheets。使用Asset Pipeline後,建議把靜態資源放在app/assets文件夾中。這個文件夾的文件會經由Sprockets中間件處理。 如果文件不需要經過伺服器編碼處理可以直接放在public下 Assets 指的是JavaScript、Stylesheets和圖檔等靜態檔案,可以將靜態檔案依需求放在不同目錄下,Rails會幫你組合並壓縮起來並且加快瀏覽器的讀取時間。壓縮意思就是將你寫很多行的js擋或是scss sass檔案給變成一行檔案容量會變得更小。 而Assets的位置在app/assets/下 關於Assets相關的兩個檔案位於 app/assets/javascripts/application.js app/assets/stylesheets/application.css並且在 .erb檔案(view) 使用Helper
例如放在app/assets/images下的圖片使用方式

<%= image_tag("rails.jpeg") %>

編譯出來的網址可以用HTML代碼看到後面會帶一串亂碼來保證存取的檔案是最新的避免存取到cache資料 Git每次的commit,都會有一個摘要。不同的摘要就代表commit內容不同.Git用這個摘要值當作每次commit的唯一識別ID。 在Rails中,Asset pipeline會將CSS和JavaScript壓縮,檔名就是透過散列函數產生的。這是因為瀏覽器會緩存靜態檔案,如果CSS / Javascript內容有修改的話,用戶瀏覽器可能不知道有 新版而使用到舊的CSS / JS檔案。但是因為檔名用了散列函數的關係,內容一改檔名就會變得不一樣,那麼瀏覽器就會下載新的檔案了。

REFERENCE / 1

Loading