2013-07-08 4 views
8

Ich suche nach einer Möglichkeit, einen Stylesheet-Link zum Kopf des Layouts einer HAML-Vorlage hinzuzufügen.Wie fügt man dem Layoutkopf einer HAML-Vorlage in Sinatra ein Stylesheet hinzu?

Mein Layout:

!!! 
    %html 
    %head 
    /some stuffs 
    %body 
     = yield 

Meine ergab Vorlage:

/ some other stuffs... 

/maybe a function like this in order to inject 'my_stylesheet' link in layout 
= content_for_head 'my_stylesheet' 

Ist es möglich, so etwas zu tun?

+2

es an den Kopf hinzu: '% link href = "/ path/to/stylesheet.css" rel = "stylesheet" ' –

+0

die Sache ist, ich will nicht alle Ansichten, die dieses Layout freigegeben haben dieses Stylesheet geladen – szymanowski

+0

Wie bestimmen Sie, welche Ansichten das Stylesheet bekommen und welche nicht? Gibt es ein Muster? –

Antwort

13

Es gibt 2 Möglichkeiten, wie Sie vorgehen können. Eine davon ist die Verwendung von Sinatras eigenem content_for Juwel, oder bündeln Sie ActionView, die Ihnen Zugang zu Rails 'content_for Methode gibt.

Die zweite Option ist eine manuelle Prüfung im Layout zu tun, und auch die CSS dort:

# in your HAML template: 
- if request.path_info == '/hello-world' 
    %link{:rel => :stylesheet, :type => :"text/css", :href => "/assets/css/my_stylesheet"} 
Verwandte Themen