ดังนั้นฉันมีapp/assets/stylesheets/
โครงสร้างไดเร็กทอรีที่มีลักษณะดังนี้:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
ในแต่ละไดเร็กทอรีมีหลายส่วนของ sass (โดยปกติคือ * .css.scss แต่หนึ่งหรือสอง * .css.scss.erb)
ฉันอาจจะคิดมาก แต่ทางรถไฟควรรวบรวมไฟล์ทั้งหมดในไดเร็กทอรีเหล่านั้นโดยอัตโนมัติเนื่องจาก*= 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";
ฉันไม่เข้าใจจริงๆว่ารางจัดการลำดับการรวบรวมเนื้อหาอย่างไร แต่เห็นได้ชัดว่ามันไม่ได้อยู่ในความโปรดปรานของฉัน ดูเหมือนว่าไม่มีไฟล์ใดที่ทราบว่ามีการนำเข้าตัวแปรหรือมิกซ์อินจึงทำให้เกิดข้อผิดพลาดและฉันไม่สามารถรวบรวมได้
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
กำลังนำเข้าสีและส่วนผสมทั้งหมดของฉัน แต่เห็นได้ชัดว่ารางไม่ได้รับบันทึกนั้น
มีวิธีใดบ้างที่ฉันสามารถแก้ไขข้อผิดพลาดเหล่านี้ได้หรือฉันจะต้องใช้การกำหนดตัวแปรทั้งหมดของฉันกลับเข้าไปในไฟล์แต่ละไฟล์ตลอดจนการนำเข้า mixin ทั้งหมด
น่าเสียดายที่ผู้ชายคนนี้ไม่คิดว่าจะเป็นไปได้ แต่ฉันหวังว่าเขาจะคิดผิด ความคิดใด ๆ ที่ได้รับการชื่นชมอย่างมาก