Rails 3.1资产管道CSS manifest.yml

时间:2012-02-02 12:38:30

标签: ruby-on-rails-3 asset-pipeline

所以我有app / stylesheets / screen.css.sass

在制作时,路径变为/assets/screen-md5hash.css

该文件正在服务,但它不会出现在manifest.yml中,也不会出现在public / assets文件夹中(因此我假设它由Rails服务,而不是Apache服务)。

为什么不存在?

1 个答案:

答案 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检查所有管道配置设置。