【发布时间】: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