我不明白为什么我的 css 文件没有使用辅助方法将摘要附加到我的资产中image_url
我的资产已正确预编译,并且文件确实包含摘要。我还可以手动访问它们(使用摘要的网址)。最奇怪的是,一开始它是有效的。
这是我的配置:
config.assets.js_compressor = :uglifier
config.assets.compile = false
config.assets.digest = true
config.assets.version = '1.0'
config.serve_static_assets = false #also tried true
这是我的 application.css:
*= 要求树。
这是 common.scss 文件,用于包含图像:
body{
background: image_url('bg.jpg');
font-family: 'Lato', sans-serif;
overflow-x: hidden;
}
图像以及样式表位于 asset/images 和 asset/stylesheets 内的子文件夹中。
这是我的宝石:
gem 'rails', '4.0.0'
gem 'sass-rails', '~> 4.0.0'
我正在使用 capistrano 进行部署,但我不认为这是与 capistrano 相关的问题,资产编译得很好。
EDIT到目前为止我已经(不成功)尝试过:
image-url('image.jpg'); -> http://www.mydomain.it/images/image.jpg
image_url('image.jpg'); -> same as above
url(image-path('header.jpg')); -> http://www.mydomain.it/images/image.jpg
asset-url('image.jpg', image); -> http://www.mydomain.it/image.jpg
问题仍然存在:资产已编译但请求没有摘要。
EDIT
继这个问题Rails 4 image-path、image-url 和 asset-url 不再在 SCSS 文件中工作 https://stackoverflow.com/questions/16843143/rails-4-image-path-image-url-and-asset-url-no-longer-work-in-scss-files?rq=1我移动了我的资产并结合使用
asset-url 并将我的资产放入 /public 文件夹中,背景图像正在工作,尽管问题仍然存在,因为应用程序没有使用带时间戳的图像版本。
所以只有一个(不是那么好,也不是那么坏)的解决方法。