生產

2013-06-29 38 views
2

沒有顯示的Rails 4.0.0 jQuery Mobile的按鈕圖標我已決定舉辦我自己的jQuery Mobile文件作爲寶石jquery_mobile_rails僅包括同時我想確保我總是有最新版本的JQM的1.3.0版本。事實證明,這令人驚奇的容易,我只是說下樣式下JavaScript的JS文件和CSS在我的資產文件夾中。生產

我複製的圖標按鈕兩者/資產/圖像和/資產/樣式表/圖像。它們在開發中正確顯示,但不在生產中顯示。我的控制檯顯示正在預編譯的圖像。

我在production.rb以下

config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif application-print.css) 

回答

2

鑑於滑軌3.2將產生兩者指紋化(picture-df71a1234da231a124a.png)和非指紋化(picture.png)預編譯期間資產,導軌4不再產生非指紋化版本。

最有可能的,從jQuery Mobile的CSS文件中包含像這樣的引用:

background-image: url(images/icons-18-white.png) 

的問題在於CSS文件沒有線索指紋應該是什麼。最好的解決方案是使用Rails的資產路徑助手。首先,確保該文件是一個SCSS文件(只是將其重命名,以便它像jquery.mobile-1.3.1.css.scss)。這將告訴軌道使用Sass編譯它。

接下來,所有在CSS文件中url(...)條目改爲image-url(...)。確保在路徑中添加引號。例如,這將加載文件app/assets/images/images/icons-18-white.png(生產中它將變爲public/assets/images/icons-18-white.png)。

background-image: image-url("images/icons-18-white.png") 

在部署這些變化,jQuery Mobile的css文件應該得到預編譯和生成的文件應包括適當按手印的URL。

+0

這件怎麼樣? .ui-popup-screen { \t background-image:url(data:image/gif; base64,R – markhorrocks

+0

data:映像網址不應轉換,只有url()項引用實際文件名。 –

+0

謝謝,您的解決方案可以運行精細。 – markhorrocks