Rails-尝试提供Nginx缓存图像时的404

时间:2018-08-17 02:47:47

标签: ruby-on-rails image nginx caching http-status-code-404

我正在运行一个公共Rails环境,该环境在使用<% image_tag('image_location') %>时可以正确地从公共文件夹中提供NGINX缓存的图像。我尝试将其用作网站范围的背景图片时出现404错误。有问题的图像是~/assets/images/Background/roulette.jpg。我已经运行过bundle exec rake assets:precompile RAILS_ENV=production,因此为什么网站上的所有其他图像都正确地加载了其缓存的副本。

该图像当前使用的是:<div id="sidebar"></div>,其css如下(简化了可读性)...

#sidebar {
   background-image: image_url("Background/roulette.jpg");
}

Rails不提供图像的缓存副本,而是尝试通过资产提供它。因为我目前有config.serve_static_assets = falseconfig.assets.compile = false,所以给我的图像有404。

是否有一种明智的方法可以使用缓存的图像作为背景,而无需更改任何配置值?

1 个答案:

答案 0 :(得分:0)

正确的语法是用破折号-而不是下划线_。您应该像这样格式化CSS:

#sidebar {
  background-image: image-url("Background/roulette.jpg");
}