【发布时间】:2014-03-06 05:16:13
【问题描述】:
我不明白为什么我的 css 文件没有使用辅助方法 image_url 将摘要附加到我的资产中
我的资产已正确预编译,并且文件确实包含摘要。我也可以手动访问它们(使用摘要的 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;
}
图像以及样式表位于 assets/images 和 assets/stylesheets 内的子文件夹中。
这里是我的宝石:
gem 'rails', '4.0.0'
gem 'sass-rails', '~> 4.0.0'
我正在使用 capistrano 进行部署,但我不认为这是与 capistrano 相关的问题,资产编译得很好。
编辑 到目前为止我(未成功)尝试过的内容:
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
问题仍然存在:资产已编译但请求时没有摘要。
编辑
按照这个问题Rails 4 image-path, image-url and asset-url no longer work in SCSS files 我移动了我的资产并使用了 资产 url 并将我的资产放在 /public 文件夹中,背景图像正在工作,即使问题仍然存在,因为应用程序没有使用图像的时间戳版本。 所以只有一个(不是那么好,也不是那么糟糕)的解决方法。
【问题讨论】:
-
尝试一次asset_url.....代替image_url
-
嗯,我这样称呼它
image-url('whitey.png')你确定是image_url吗? -
config.assets.enabled = true?
-
来自 rails 指南:资产管道默认启用。可以在 config/application.rb 中禁用它,方法是将此行放在应用程序类定义中:
config.assets.enabled = false,但也尝试过。当然没有成功:) -
您是否尝试过使用
RAILS_ENV=production rake assets:precompile编译资产,我在使用rake assets:precompile时也遇到过类似的问题,即使用RAILS_ENV=development时。虽然我猜想设置config.assets.digest = true应该启用这个...
标签: ruby-on-rails ruby-on-rails-4 asset-pipeline