生产

2013-06-29 39 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