Donc, j'ai une app/assets/stylesheets/
structure de répertoires qui ressemble à ceci:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
Dans chaque répertoire, il y a plusieurs partiels sass (généralement * .css.scss, mais un ou deux * .css.scss.erb).
Je suppose peut-être beaucoup, mais les rails DEVRAIENT compiler automatiquement tous les fichiers de ces répertoires à cause de *= require_tree .
dans application.css, non?
J'ai récemment essayé de restructurer ces fichiers en supprimant toutes les variables de couleur et en les plaçant dans un fichier dans le app/assets/stylesheets
dossier racine (_colors.css.scss). J'ai ensuite créé un fichier dans le app/assets/stylesheets
dossier racine appelé master.css.scss qui ressemble à ceci:
// 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";
Je ne comprends pas vraiment comment les rails gèrent l'ordre de compilation des actifs, mais ce n'est évidemment pas en ma faveur. Il semble qu'aucun des fichiers ne réalise qu'ils ont des variables ou des mixins importés, et donc cela génère des erreurs et je ne peux pas compiler.
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)
La variable $dialog_divider_color
est clairement définie dans _colors.css.scss, et _master.css.scss
importe les couleurs et tous mes mixins. Mais apparemment, les rails n'ont pas reçu ce mémo.
Existe-t-il un moyen de corriger ces erreurs, ou dois-je recourir à replacer toutes mes définitions de variables dans chaque fichier individuel, ainsi que toutes les importations de mixin?
Malheureusement, ce type ne semble pas penser que c'est possible, mais j'espère qu'il a tort. Toutes les pensées sont grandement appréciées.