我有一個用Rails編寫的Heroku上的應用程序,它在着陸頁上有一個大圖像作爲背景。由於Heroku的文件系統是隻讀的,我決定在AWS S3上存儲這些圖像(它們是隨機選擇的)。Rails:引用在CSS中的圖像
我在的CSS(.scss)的代碼如下所示(簡化):
html {
background: image-url('#{image}.jpg') no-repeat center center fixed;
}
我現在的問題是,我的應用程序能夠在發展中正確顯示圖像,但它是不能夠在生產中顯示圖像(在Heroku上)。當在交付.css文件(瀏覽器)來看,我覺得我看到的錯誤:
html {
background: url("8017416067_4f6f75f956_o.jpg") no-repeat center center fixed;
-webkit-background-size: cover;
background-size: cover;
}
看來,哈希不追加,雖然我用image-url
,如上所見和建議我。即here。文件在S3上的文件名是8017416067_4f6f75f956_o-058c92aeab457efe0625a777f203430d.jpg
。
對我在做什麼有什麼建議嗎?
編輯:我注意到,在我從本地機器得到的.css文件中,圖像的引用爲/assets/8017416067_4f6f75f956_o.jpg
(不含引號),而在線應用程序給我"8017416067_4f6f75f956_o.jpg"
。
解決:我不知道爲什麼,但突然它有效。我做的最後一件事是我刪除了整個public/assets
文件夾以使Heroku預先編譯資產本身。
看看http://stackoverflow.com/a/21974342/2300000 – Monideep