【问题标题】:Rails 5 asset pipeline ignoring certain foldersRails 5资产管道忽略某些文件夹
【发布时间】:2017-02-10 20:32:16
【问题描述】:

好的,所以我在 Rails 5 忽略某些图像文件夹时遇到了一些问题。以下是一些相关信息:

app/assets
  javascripts/
  stylesheets/
    style1.scss
    style2.scss
  images/
    subfolder1/
    subfolder2/


config/initializers/assets.rb
  Rails.application.config.assets.precompile += %w( style1.css )
  Rails.application.config.assets.precompile += %w( style2.css )

config/environments/development.rb
  config.assets.debug = true

所以我遇到的问题是资产被指纹识别并仅从子文件夹 1 提供服务。我想我知道这一点,因为我可以进入 Chrome 开发人员工具,在源选项卡下查看从 style1.scss 和 style2.scss 生成的已编译 CSS 文件。

在生成的 CSS 中,来自 subfolder1 的 image-url 标签如下所示:

background: url(/assets/subfolder1/image-106e9d1ebbbc3111ae3e5b153c81a7237b3d033ecdabad3e107e122c3b457ca5.jpg)

在同一个生成的 CSS 文件中,来自 subfolder2 的 image-url 标签如下所示:

background: url(/images/subfolder2/image.png)

子文件夹 1 中的图像被渲染,但子文件夹 2 中的图像永远不会被检索并生成 404。为什么从 scss 到 css 的转换只能正确转换子文件夹 1 中的图像?为什么在开发模式下完全指纹识别?

【问题讨论】:

  • 奇怪。你可以尝试运行 rake assets:clean 吗?
  • 哇,成功了!谢谢!

标签: sass asset-pipeline ruby-on-rails-5 sprockets


【解决方案1】:

在我的情况下,我似乎需要运行 rake assets:clean 来让它自己正确。谢谢 Joel_Blum!

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2010-10-30
    相关资源
    最近更新 更多