2010-06-03 4 views
6

Existe-t-il un moyen d'accéder aux variables Ruby dans SASS ou dois-je en faire une fonction personnalisée?accéder à la variable Ruby (à partir du modèle ou du contrôleur) dans SASS

Ce que je suis en train de faire est de générer une feuille de style pour chaque utilisateur ainsi dans le contrôleur, je fais quelque chose comme:

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

puis au nom de la vue _styles.haml que je fais ceci:

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

est-ce possible?

* Apparemment, ce n'est pas: http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

Y at-il une autre manière que ce code « sale » solution que nous avons fait (nous avons converti _styles partielles RHTML alors)

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

est-il un moyen pour cela en haml?

Répondre

5

Vous pouvez définir une fonction SassScript personnalisée (example) qui insère la valeur.

+0

comment appellerions-nous la fonction si l'argument est aussi une variable? – corroded

+3

Quelque chose comme ça: http://gist.github.com/428874 –

+0

Hmm im va étudier ce code et voir si cela fonctionne :) Merci pour l'aide! – corroded

Questions connexes