Отже, у мене є app/assets/stylesheets/
структура каталогів, яка виглядає приблизно так:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
У кожному каталозі є декілька частин sass (зазвичай * .css.scss, але один або два * .css.scss.erb).
Можливо, я припускаю багато, але rails ПОВИНЕН автоматично зкомпілювати всі файли в цих каталогах через *= require_tree .
в application.css, так?
Нещодавно я спробував реструктуризувати ці файли, видаливши всі кольорові змінні та помістивши їх у файл у кореневій app/assets/stylesheets
папці (_colors.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 обробляє порядок складання активів, але це, очевидно, не на мою користь. Здається, жоден з файлів не усвідомлює, що у них є якісь змінні або комбінації, що імпортуються, і тому він видає помилки, і я не можу скомпілювати.
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
чітко визначена в _colors.css.scss і _master.css.scss
імпортує кольори та всі мої міксини. Але, очевидно, рейки не отримали цієї пам'ятки.
Чи можна якимсь чином виправити ці помилки, чи мені доведеться вдатися до повернення всіх визначень змінних назад до кожного окремого файлу, а також усього імпорту мікшину?
На жаль, цей хлопець , здається, не думає, що це можливо, але я сподіваюся, що він помиляється. Будь-які думки дуже вдячні.