Jadi, saya memiliki app/assets/stylesheets/
struktur direktori yang terlihat seperti ini:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
Di setiap direktori, ada beberapa bagian sass (biasanya * .css.scss, tetapi satu atau dua * .css.scss.erb).
Saya mungkin berasumsi banyak, tetapi Rails HARUS secara otomatis mengkompilasi semua file di direktori tersebut karena *= require_tree .
di application.css, bukan?
Saya baru-baru ini mencoba merestrukturisasi file-file ini dengan menghapus semua variabel warna dan menempatkannya dalam file di app/assets/stylesheets
folder root (_colors.css.scss). Saya kemudian membuat file di app/assets/stylesheets
folder root bernama master.css.scss yang terlihat seperti ini:
// 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";
Saya tidak begitu mengerti bagaimana rel menangani urutan kompilasi aset, tetapi jelas tidak menguntungkan saya. Tampaknya tidak ada file yang menyadari bahwa mereka memiliki variabel atau mixin yang diimpor, sehingga menimbulkan kesalahan dan saya tidak dapat mengkompilasi.
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)
Variabel $dialog_divider_color
didefinisikan dengan jelas di _colors.css.scss, dan _master.css.scss
mengimpor warna dan semua mixin saya. Tapi rupanya rel tidak mendapatkan memo itu.
Apakah ada cara agar saya dapat memperbaiki kesalahan ini, atau apakah saya perlu menggunakan semua definisi variabel saya kembali ke setiap file individual, serta semua impor mixin?
Sayangnya, orang ini sepertinya tidak berpikir itu mungkin, tapi saya berharap dia salah. Pikiran apa pun sangat dihargai.