首页 > 解决方案 > Rails 5:为什么我的图片资源不能在生产环境中加载?

问题描述

我在 assets: 的 images 文件夹中有一张图片app/assets/images/memphis-mini.png

我使用这张图片作为背景。

.hero {
  background-image: url('memphis-mini.png');
}

在开发中,它按预期工作。Rails 找到图像并相应地显示背景。

但是,在生产中,找不到图像。查看控制台,我可以看到该应用程序似乎在错误的位置寻找图像:

https://billbillapp.herokuapp.com/assets/memphis-mini.png

为什么它不在图像文件夹中查找?它应该在图像文件夹中查找吗?

标签: ruby-on-railsruby-on-rails-5

解决方案


您必须使用Rails 资产助手

.hero {
   background-image: url(image_path('memphis-mini.png'));
}

此外,您必须使用.scss样式表的文件名结尾。这样,Rails 就会为您生成正确的 url。


推荐阅读