css - 生产中的 Rails 应用程序不加载图像?

标签 css ruby-on-rails sass

我刚刚准备好运行 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/

相关文章:

javascript - Jasmine:为 Rails 定义单独的源文件集?

ruby-on-rails - 如何清除长时间运行的 rake 任务的内存以防止超出 Heroku 的内存配额?

html - 如何为这个 CSS 径向渐变创建一个 Sass mixin?

css - 仅为特定 div 内的所有元素重置 rem 或字体大小

Angular:如何动态更改 scss 变量?

css - 衬线体和无衬线体是什么意思?

php - 登录实时服务器时出现 CSS 和导航栏问题

ruby-on-rails - 在通过 Brightbox 的 PPA 安装的 Ruby 2.1.x 上安装 Mongrel 1.2.0_pre2 时出错

html - 如何使用 css 加入我的列表和 div?

html - CSS @media print withinch 打印后给出其他尺寸