我刚刚准备好运行 Ubuntu 17.04、Apache2、Passenger、最新的 Ruby 和 Rails 的生产服务器。 当我浏览我的网站时,CSS 中用作背景图片的图片无法加载:
.firstrow {
background-image: url("backdrop2.png");
}
错误:http://server.lan/assets/backdrop2.png
我想我必须在 CSS 中使用更多的 FQDN 来获取图像,但它在开发中如何工作?我应该在 CSS 中使用什么路径? 我还应该提到我使用 SASS。
最佳答案
你应该使用 image-url helper .如果您使用的是 Sass,您可以将代码替换为:
.firstrow { background-image: image-url("backdrop2.png"); }
这当然假设您的图片在 Rails 的图片 assets search paths 中。 .默认情况下,Rails Assets 管道将在以下位置搜索您的图像:
app/assets/images
lib/assets/images
vendor/assets/images
此外,确保您的部署脚本在您的生产服务器上运行 rake assets:precompile RAILS_ENV=production
。许多自动执行,但不是全部。
关于css - 生产中的 Rails 应用程序不加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916640/