在Rails视图中用传递的变量处理SASS和Compass



我使用sass-rails和compass-rails进行混合。

我的网站允许用户选择自己的颜色。这些颜色需要在sass/compass混合中运行。颜色存储在数据库中。

我想到的解决方案是动态设置头部标签内的颜色。不幸的是,我无法找出一种方法来让Rails在视图文件中处理SASS块。

这个解决方案完成了一半的工作。它在外部文件中处理sass并将其加载到视图中,但我无法将颜色传递给它:

<%= Rails.application.assets.find_asset('mystyle').to_s.html_safe %>

任何想法?

你也可以像这样在你的应用程序中使用Sass引擎:

  color = "#0000ff"
  engine = Sass::Engine.new("#main {background-color: #{color};height: pow(10,2)px}", :syntax => :scss)  
  engine.render
  => "#main {n  background-color: #0000ff;n  height: 100 px; }n"

pow()是一个罗盘函数,只是为了说明您可以在那里使用罗盘。你需要在你的Gemfile中有compass gem。

见这里的"使用Sass":

http://sass-lang.com/documentation/file.SASS_REFERENCE.html

相关内容

  • 没有找到相关文章

最新更新