我使用的是Rails和Compass。在我部署到生产环境之前,一切都运行得很好,在这一点上我达到了:
bundle exec rake RAILS_ENV=staging RAILS_GROUPS=assets assets:precompile'
** rake aborted!
** Undefined mixin 'column'.
** (in /....../app/assets/stylesheets/clients.css.sass)application.css.sass
@import compass
@import _blueprint
@import "compass/layout/sticky-footer"
@import "compass/css3/gradient"
@import "partials/_base"
@import "blueprint/reset"
@import "blueprint/colors"
@import "blueprint/grid"
@import "blueprint/fancy-type"
@import "blueprint/scaffolding"
@import "blueprint/form"
@import "clients"clients.css.sass
#clients
+column(4)所以你可以看到clients.css.sass没有导入指南针,蓝图等,b/c它是由application.css.sass导入的。但是为什么asset编译器试图自己编译这个文件呢?我可以通过在每个css.sass文件中添加“@import compass”来修复它,但似乎不应该这样做。
发布于 2012-04-21 01:26:17
确保您的应用程序清单不包含require_tree .或类似内容。如果链轮需要在sass导入之外的文件,则将始终引发此错误。一开始我遇到了很多麻烦。
如果不是这样,您使用的是什么版本的Rails?在早期的Rails 3.1.x中,rake预编译存在一些问题,这些问题后来得到了修复……
发布于 2012-04-21 21:29:28
我发现在Rails和Asset Pipeline中,您需要使用部分表示法来@import指南针和蓝图的子元素。要让column函数正常工作,您需要:
@import "blueprint/_grid"顺便说一句,你为什么没有在前两行使用引号的任何原因--我本以为以下是必需的:
@import "compass"
@import "blueprint"虽然在本例中不是100%确定blueprint行是否需要前导_,但我在Rails3.2.3中绝对导入了没有它的compass
https://stackoverflow.com/questions/10250654
复制相似问题