链接到背景图像的正确方法是什么?

时间:2014-05-07 04:30:15

标签: ruby-on-rails asset-pipeline turbolinks

在制作中,我没有问题链接到我的CSS之外的资产。但我似乎无法找到将指纹应用于我的图像的轨道逻辑,这导致每个背景图像文件上的404s。这是我尝试过的:

background-image: url(image-path('pretty-background-image.jpg'));
background: asset-url('pretty-background-image.jpg');

但这些似乎都不起作用,他们都设定了:

background: url(assets/pretty-background-image.jpg);

而不是

background: url(assets/pretty-background-image1234567890987654321.jpg);

1 个答案:

答案 0 :(得分:0)

正确的方法是使用sass和image-url助手

background-image: image-url("path/to/file.jpg")

鉴于您的文件位于/app/assets/images/path/to/file.jpg

更多信息:http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets


编辑由于它不适用于您的情况,请执行以下验证

在您的开发计算机中,从您的应用目录运行RAILS_ENV=production bundle exec rake assets:precompile

然后进入 public 目录并搜索您的图像文件,并验证它是否为指纹识别。

仍然在 public 目录中,打开已编译的css文件并搜索CSS选择器,以验证image-url是否被url替换,并且文件路径是指纹识别的。

告诉我结果,我们会看到