views:

102

answers:

1

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?

+1  A: 

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

Konstantin Haase
how would we call the function if the argument is also a variable?
corroded
Something like this: http://gist.github.com/428874
Konstantin Haase
Hmm im gonna study this code and see if it works :) Thanks for the help!
corroded