Es scheint, dass alle css.scss-Dateien in Rails 3.1 in eine Datei zusammengeführt werden. Was mache ich, wenn ich möchte, dass eine CSS-Datei nur in einigen Ansichten enthalten ist? Wie wenn ich admin.css.scss auf der Admin-Seite und main.css.scss auf der home / about / Kontaktseite sehen möchte.
In Rails 3.1 werden all Ihre Stylesheets in der application.css zusammengeführt, wenn Ihre application.css wie folgt aussieht:
%Vor%Es liegt an dem * = require_tree.
Sie können ein bestimmtes Stylesheet mit folgenden Elementen anfordern:
%Vor%Andernfalls schreiben Sie in Ihrem Layout:
%Vor%und auf Ihrer Seite:
%Vor%Lassen Sie mich eine Lösung hinzufügen, die für mich funktioniert hat.
Wie in einer vorherigen Antwort erwähnt, möchten Sie möglicherweise das
entfernen %Vor%Anweisung aus der Datei application.css .
Ich behielt das
%Vor%Anweisung für freigegebene Stile in der Anwendung.
Dann habe ich in meiner Datei application.html die folgenden Anweisungen verwendet, um nur die application.css und die controller.controller_name.css einzuschließen Stylesheets in der Ansicht.
%Vor%Wie Sie sehen, funktioniert das für JavaScript-Dateien.
Siehe auch:
Ссылка
(siehe Abschnitte 2.2.14 "Suchen von Layouts")
Sie könnten verschiedene Layouts für verschiedene Controller haben!
z.B. Unter App / Ansichten / Layouts könnten Sie application.haml und admin.haml haben und unter App / Controller haben Sie eine admin_controller.rb
Rails wird versuchen, ein Layout mit dem gleichen Namen wie der Controller zu finden.
Sie können dieses Verhalten auch überschreiben und angeben, welches Layout verwendet werden soll, z. B .:
%Vor%Sie würden dann eine admin.scss-Datei unter app / stylesheets für dieses neue Layout erstellen!
Tags und Links ruby-on-rails-3 compass-sass