Um zusätzliche CSS-Assets SCSS zur Laufzeit kompilieren von Theme-Ordnern innerhalb des öffentlichen Verzeichnisses zu kompilieren habe ich folgende assets.rb (Schienen 5,1)Wie aus dem öffentlichen Ordner
#assets.rb
Rails.application.config.assets.paths << Rails.root.join("public", "themes", "default")
in einer Ansicht (haml), die auch im öffentlichen Verzeichnis befindet ich das haben, gehören:
# public/layouts/default.html.haml
%link{:href => "/themes/default/sdk.css", :rel => "stylesheet"}/
die sdk.css
/*
*= require self
*= require bootstrap/bootstrap
*/
Überraschenderweise wird diese scss-Datei nicht kompiliert. Die Ausgabe im Browser ist genau das gleiche:
/*
*= require self
*= require bootstrap/bootstrap
*/
Ein weiterer Versuch, die STYLE_SHEET Helfer wie dies wurde mit:
= stylesheet_link_tag 'sdk.scss'
Die Datei serviert bekommen, aber nicht kompiliert.
Also, wie kann ich scss Assets zur Laufzeit kompilieren?
das Umbenennen in scss verursacht einen 404 http: // localhost: 3000/themes/default/sdk.css. Ich kann es als http: // localhost: 3000/themes/default/sdk.scss laden, aber es wird auch nicht kompiliert. Ich verbanne den öffentlichen Ordner, da es für Assets im öffentlichen Ordner nicht benötigt wird, oder? Wenn ich es vorstelle, wieder ein 404 – dc10