1

当我部署到生产环境中时,我发现一些清单文件没有预编译。而且我意识到这些清单文件都有 .sass 或 .js.coffee 之类的扩展名

application.rb我确实包括了这些config.assets.precompile << 'admin.js.coffee'

那么清单文件不能是纯 css/js 以外的东西吗?

更新

我有一个fish.sass,做config.assets.precompile << 'fish.sass'不会做任何事情。但是,如果我这样做config.assets.precompile << 'fish.css',它将正确编译。我必须指定一个不存在的文件才能使其工作,这似乎很奇怪。

4

2 回答 2

1

清单文件可以包括其他文件,例如 sass、coffee。部署应用程序时,您需要运行rake assets:precompile. 这将预编译您的所有资产文件。

如果您有其他文件,则需要将其添加到您的 production.rb 中

config.assets.precompile += %w( admin.js, admin.css )

确保你的 production.rb 中也有这个

config.assets.compile = true

您必须使用扩展名.js和命名清单文件.css,然后在其中添加相同的名称production.rb

于 2012-05-31T07:44:49.150 回答
1

该文件fish.css确实“存在”。在编译资产之前,rails 会查看你的文件名,并根据它们的扩展名解析文件。所以 sass 文件将在 css 中呈现,在 js 中呈现咖啡等。

于 2012-05-31T08:27:46.723 回答