2016-09-18 24 views
5

Làm cách nào để đặt biến SCSS dựa trên giá trị biến ruby?Ruby on Rails - SLIM - SCSS - tiêm biến số ruby ​​

Tiếp theo mã đang làm việc cho CSS nhưng không phải cho SCSS:

- primaryColor = app.theme_variables['primary-color']; 
= content_for(:after_head_script) do 
    css: 
    .primaryColor { 
    color: #{primaryColor}; 
    } 

Nếu tôi làm điều tương tự với SCSS:

- primaryColor = app.theme_variables['primary-color']; 
= content_for(:after_head_script) do 
    scss: 
    $color = #{primaryColor} 

    .primaryColor { 
     color: $color; 
    } 

đầu ra như sau:

.primaryColor{color:primaryColor} 

Vì vậy, bất kỳ ý tưởng về cách tiêm biến vào SCSS?

+0

Đây chỉ là linh cảm, nhưng bạn đã thử gói nội suy trong dấu ngoặc kép chưa? ví dụ. '$ color =" # {primaryColor} "' – pdoherty926

+0

Đúng vậy. Cùng reault. – Gapipro

+0

Vâng, điều này dường như không hoạt động ở Slim, đó là một con số thấp. Ít nhất bạn có biến 'css:' để dự phòng. – pdoherty926

Trả lời

-1

Thêm phần mở rộng .slim vào tệp .scss của bạn và mở rộng biến của bạn sẽ hoạt động (ví dụ: ".scss.slim").

Xem Asset Pipeline Preprocessing để biết chi tiết.

+0

Điều này không liên quan gì đến câu hỏi của tôi. – Gapipro

0

Bạn có thể sử dụng nội suy ERB tiêu chuẩn bên trong chỉ thị scss, không chắc chắn nếu có một cách mỏng.

scss: 
    $color = <%= primaryColor %>;