【问题标题】:Rails - 404 when attempting to serve nginx cached imageRails - 尝试提供 nginx 缓存图像时出现 404
【发布时间】:2019-01-24 01:04:52
【问题描述】:

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

图像当前使用以下 css 渲染:<div id="sidebar"></div>(为便于阅读而简化)...

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

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

有没有一种理智的方法可以在不更改任何配置值的情况下使用缓存的图像作为我的背景?

【问题讨论】:

  • 你可以试试改成#sidebar { background-image: url("/assets/roulette.jpg"); }
  • @KedarnagMukanahallipatna 与以前相同的问题,图像的 404 错误。
  • 您使用的是哪个版本的 Rails?
  • 我运行的是旧版本,确切地说是 4.2.10。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 2017-03-07
    • 2013-07-09
    相关资源
    最近更新 更多