2010-06-03 4 views
6

Gibt es eine Möglichkeit, auf Ruby-Variablen in SASS zuzugreifen oder muss ich eine benutzerdefinierte Funktion für sie einrichten?Zugriff auf Ruby-Variable (von Modell oder Controller) in SASS

Was ich versuche zu tun, ein Stylesheet für jeden Benutzer zu erzeugen, so in der Steuerung, das tue ich so etwas wie:

def show 
    respond_to do |format| 
    format.css{render :partial => "styles"} 
    end 
end 

dann in der Ansicht Namen _styles.haml ich dies tun:

:sass 
    #header 
    :background url(user.banner.url) 

ist das überhaupt möglich?

* Anscheinend ist es nicht: http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

Gibt es eine Möglichkeit, außer dieser 'schmutzigen' Code fix wir haben (wir umgewandelt _styles Teil dann RHTML)

#header { 
    background: #efefef url(<%= @company.settings.banner.url %>); 
} 

ist es eine Möglichkeit, dafür in haml?

Antwort

5

Sie können eine benutzerdefinierte SassScript-Funktion (example) definieren, die den Wert einfügt.

+0

Wie würden wir die Funktion nennen, wenn das Argument auch eine Variable ist? – corroded

+3

Etwas wie das: http://gist.github.com/428874 –

+0

Hmm ich werde diesen Code studieren und sehen, ob es funktioniert :) Danke für die Hilfe! – corroded