【问题标题】:Cannot get rails assets to compile and deploy correctly无法正确编译和部署 Rails 资产
【发布时间】:2014-06-14 20:55:04
【问题描述】:

我不确定我做错了什么......

这是在暂存环境中。我在 app/assets/stylesheets/styles.css.scss 里面说:

.logo-div {

background-image:image-url("logo_white.png");

}

我也有 app/assets/images/logo_white.png。

当我运行 bundle exec rake assets:precompile 时,我确实在我的 public/assets 文件夹中获得了一个已编译的 application.css 文件以及 logo_white.png (logo_white-204b61bda69f4aae0c9bb35ca909cdc2.png) 文件的指纹版本,但图像- url 没有正确转换,而是显示为:

background-image:url(/images/logo_white.png)

我本来希望它看起来像这样:

background-image:url(/assets/logo_white-204b61bda69f4aae0c9bb35ca909cdc2.png)

有人知道为什么这不起作用吗?

【问题讨论】:

  • 如果您使用默认设置,您应该运行RAILS_ENV=production bundle exec rake ... 以确保您使用正确的环境设置。 RAILS_ENV 是环境变量 rails 将用于检查它应该运行的环境。它将默认为“开发”。

标签: ruby-on-rails ruby


【解决方案1】:

当 Rails 找不到指定的文件时,您将获得对 /images/(而不是 /assets/)中文件的引用。

我会仔细检查这个logo_white.png 的拼写和文件位置 - 确保它在/app/assets/images 中并且拼写没有不同(例如logo-white.pnglogo__white.pnglogo_white.jpg

【讨论】:

    【解决方案2】:

    如果文件 logo_white.png 位于 images/ 以外的其他目录,则需要添加到 application.rb:

    config.assets.paths << "#{Rails.root}/app/assets/gallery"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多