2010-06-03 4 views
6

Есть ли способ доступа к переменным Ruby в SASS или мне нужно сделать для него настраиваемую функцию?Доступ к переменной Ruby (из модели или контроллера) в SASS

То, что я пытаюсь сделать это, чтобы создать таблицу стилей для каждого пользователя, так что в контроллере, я сделать что-то вроде:

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

затем во имя вида _styles.haml Я делаю это:

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

Возможно ли это вообще?

* Очевидно, это не так: http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

Есть ли способ, кроме этого «грязного» код исправления мы сделали (мы преобразовали _styles неравнодушных к RHTML тогда)

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

есть способ для этого в haml?

ответ

5

Вы можете определить пользовательскую функцию SassScript (example), которая вставляет это значение.

+0

Как мы будем называть функцию, если аргумент также является переменной? – corroded

+3

Что-то вроде этого: http://gist.github.com/428874 –

+0

Хм, я собираюсь изучить этот код и посмотреть, работает ли он :) Спасибо за помощь! – corroded