Rails 5:为什么在生产中不加载图像资产?

时间:2019-04-29 22:36:46

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

我在资产app/assets/images/memphis-mini.png的图像文件夹中有一个图像。

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您必须使用Rails asset helpers

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

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