我在供应商css文件引用的Vendor文件夹下有很多供应商图片。
我正在使用Heroku和S3进行制作,像background-image: url("../images/sprite.png");
这样的东西正在开发但不在制作中,因为图片网址指向S3网址。
它没有被预编译,所以不确定我是否应该将其作为资产预编译的一部分包含在内但我想远离这一点,因为我需要手动将所有图像文件复制到assets/images
文件夹中还可以更改css
文件中的引用,方法是将其更改为scss
以及asset_url
(这似乎工作正常)
有没有办法不从供应商css文件中引用S3网址
我也使用asset_sync
gem上传到S3
答案 0 :(得分:8)
预编译资产
似乎您遇到asset fingerprinting问题,这是一个可以通过precompiling
资产解决的问题:
<强> Heroku Tutorial on the subject 强>:
#config/environments/production.rb
config.assets.compile = true
config.assets.digest = true
#cmd
rake assets:precompile RAILS_ENV=production
git add.
git commit -a -m "Your Commit"
git push heroku master
heroku run rake assets:precompile --app your_heroku_app
这将预编译您的所有资产(并应正确同步)
资产同步
在Rails&amp;中使用asset_sync
宝石Heroku,我们发现你必须在precompile
本身运行Heroku
命令(我上面几点的最后一步)
检查的唯一方法是查看您的亚马逊存储桶 - 如果设置正确,如果您在Heroku上预编译则应填充资产