我在CSS部分中声明了一个css类,名为' _city-images.css.scc' :
.city-art {
background: url(image-path('cities-images.png')) no-repeat;
}
问题是在通过资产编译资产之后:预编译。由'图像路径生成的路径'指纹不会生成助手。
生成的路径为:https://abc.mysite.com/assets/cities-images.png 但它应该是这样的:https://abc.mysite.com/assets/cities-images-XXXXXXXXXXXXXX.png
在您提出问题之前,问题仅出在.css.scss文件中。其他文件中的所有路径都使用指纹生成。 在production.rb:config.assets.digest = true
中也启用了手指打印我经常搜索,但无法找到有效的解决方案。
任何人都可以帮忙吗?
答案 0 :(得分:0)
如果您尚未使用precompile
数组,则可以在{{1}中添加单个样式表和js(不包括部分scss文件,因为部分scs文件包含在其他scss文件中,应该包括btw) }}:
config/initializers/assets.rb
注意:始终指定以.js或.css结尾的预期编译文件名,即使您要将Sass或CoffeeScript文件添加到预编译数组中。
对于您的情况,如果您的部分Rails.application.config.assets.precompile += %w( admin.js admin.css )
导入其他scss _city-images.css.scss
,则只需在base.css.scss
数组中加入( base.css )
。
您可能还希望查看Precompiling Assets
上的官方指南答案 1 :(得分:0)
最后花了几个小时后,我解决了这个问题:
.city-art {
background: url(asset-path('cities-images.png', image)) no-repeat;
}
需要使用资产路径,带参数图像。
如果有人遇到类似问题,请检查此问题:asset_path in scss file rails