Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

accessing Ruby variable(from model or controller) in SASS

Is there a way to access Ruby variables in SASS or do I have to make a custom function for it?

What I'm trying to do is to generate a stylesheet for each user so in the controller, I do something like:

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

then in the view name _styles.haml I do this:

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

is this possible at all?

*Apparently it isn't: http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

Is there a way other than this 'dirty' code fix we did(we converted _styles partial to rhtml then)

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

is there a way for this in haml?

like image 283
corroded Avatar asked Jun 03 '10 09:06

corroded


1 Answers

You could define a custom SassScript function (example) that inserts the value.

like image 115
Konstantin Haase Avatar answered Nov 15 '22 05:11

Konstantin Haase