Entonces, tengo una app/assets/stylesheets/estructura de directorio que se parece a esto:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
En cada directorio, hay varios parciales sass (normalmente * .css.scss, pero uno o dos * .css.scss.erb).
Podría estar asumiendo mucho, pero los rieles DEBERÍAN compilar automáticamente todos los archivos en esos directorios debido a *= require_tree .en application.css, ¿verdad?
Recientemente intenté reestructurar estos archivos eliminando todas las variables de color y colocándolas en un archivo en la app/assets/stylesheetscarpeta raíz (_colors.css.scss). Luego creé un archivo en la app/assets/stylesheetscarpeta raíz llamado master.css.scss que se ve así:
// 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";
Realmente no entiendo cómo rieles maneja el orden de compilación de activos, pero obviamente no está a mi favor. Parece que ninguno de los archivos se da cuenta de que se están importando variables o mixins, por lo que arroja errores y no puedo compilar.
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_colorestá claramente definida en _colors.css.scss, y _master.css.scssestá importando colores y todos mis mixins. Pero aparentemente Rails no recibió ese memo.
¿Hay alguna forma de corregir estos errores, o tendré que recurrir a volver a poner todas mis definiciones de variables en cada archivo individual, así como todas las importaciones de mixin?
Desafortunadamente, este tipo no parece pensar que sea posible, pero espero que esté equivocado. Cualquier idea es grandemente apreciada.