在SASS中访问Ruby变量(来自模型或控制器)

cor*_*ded 6 ruby haml ruby-on-rails sass

有没有办法在SASS中访问Ruby变量,还是我必须为它创建一个自定义函数?

我想要做的是为每个用户生成一个样式表,所以在控制器中,我做了类似的事情:

def show
  respond_to do |format|
    format.css{render :partial => "styles"}
  end
end
Run Code Online (Sandbox Code Playgroud)

然后在视图名称_styles.haml我这样做:

:sass
  #header
    :background url(user.banner.url)
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

*显然不是:http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

除了我们做的'脏'代码修复之外还有其他方法(我们将_styles部分转换为rhtml然后)

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

haml有这种方法吗?

Kon*_*ase 5

您可以定义插入值的自定义SassScript函数(示例).