【问题标题】:Process SASS and Compass in Rails view with passed variables使用传递的变量在 Rails 视图中处理 SASS 和 Compass
【发布时间】:2014-04-21 07:28:43
【问题描述】:

我正在使用 sass-rails 和 compass-rails 作为 mixins。

我的网站允许用户选择自己的颜色。一堆这样的颜色需要通过 sass/compass mixin。颜色存储在数据库中。

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

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

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

有什么想法吗?

【问题讨论】:

    标签: css ruby-on-rails-3 sass asset-pipeline compass-sass


    【解决方案1】:

    您也可以像这样在您的应用中使用 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 中包含指南针 gem。

    请参阅此处的“使用 Sass”:

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

    【讨论】:

    • 非常感谢。如果有人想知道,把它放在我刚刚做的视图中 :scss).render %>
    猜你喜欢
    • 2012-08-18
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多