所以,我有一个app/assets/stylesheets/
目录 struct ,看起来像这样:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
在每个目录中,都有多个sass部分(通常是*.css.scss,但也有一个或两个*.css.scss.erb).
我可能会假设很多,但rails应该自动编译这些目录中的所有文件,因为应用程序中有*= require_tree .
个.css,对吗?
最近,我try 通过删除所有 colored颜色 变量并将它们放入根app/assets/stylesheets
文件夹(_color s.css.scss)的一个文件中来重新构建这些文件.然后,我在根app/assets/stylesheets
文件夹中创建了一个名为master.css.scss的文件,如下所示:
// Color Palette
@import "colors";
// Mixins
@import "mixins/buttons/standard_button";
@import "mixins/gradients/table_header_fade";
@import "mixins/vendor_support/rounded_corners";
@import "mixins/vendor_support/rounded_corners_top";
@import "mixins/vendor_support/box_shadow";
@import "mixins/vendor_support/opacity";
我不太明白rails是如何处理assets资源 编译顺序的,但这显然不利于我.似乎没有一个文件意识到它们有任何变量或混合被导入,所以它会抛出错误,我无法编译.
Undefined variable: "$dialog_divider_color".
(in /home/blah/app/assets/stylesheets/dialogs/dialog.css.scss.erb)
Undefined mixin 'rounded_corners'.
(in /home/blah/app/assets/stylesheets/widgets.css.scss)
变量$dialog_divider_color
以_ colored颜色 明确定义.css.scss和_master.css.scss
正在导入 colored颜色 和我所有的混音.但显然rails没有收到备忘录.
有没有办法修复这些错误,或者我需要将所有变量定义放回每个单独的文件,以及所有mixin导入?
不幸的是,this guy似乎认为这是不可能的,但我希望他是错的.我们非常感谢您的任何 idea .