所以我有app / stylesheets / screen.css.sass
在制作时,路径变为/assets/screen-md5hash.css
该文件正在服务,但它不会出现在manifest.yml中,也不会出现在public / assets文件夹中(因此我假设它由Rails服务,而不是Apache服务)。
为什么不存在?
答案 0 :(得分:4)
你是对的 - 文件由Sprockets提供。
这表明您的管道配置设置存在一些问题。
首先是你可能还有
config.assets.compile = true
production.rb
中的。
应该是假的。如果是,那么任何未预编译的资产(以及公共目录中)都由Sprockets提供。
第二个是,如果要引用任何未命名为application
的js或css文件,则必须将该文件添加到预编译数组中,以便对其进行预编译以进行生产。
清单中缺少它的事实表明它没有预编译。
您应该在application.rb
中添加:
config.assets.precompile += ['screen.css']
如果这是升级后的应用,我是否可以建议您根据last section of the pipeline guide检查所有管道配置设置。