Ruby on Rails - SLIM - SCSS - 注入 Ruby 变量

7

我如何根据Ruby变量值设置SCSS变量?

以下代码适用于CSS,但不适用于SCSS:

- primaryColor = app.theme_variables['primary-color'];
= content_for(:after_head_script) do
  css:
   .primaryColor {
     color: #{primaryColor};
   }

如果我要用SCSS编写相同的内容:
- primaryColor = app.theme_variables['primary-color'];
= content_for(:after_head_script) do
  scss:
    $color = #{primaryColor}

    .primaryColor {
      color: $color;
    }

输出如下:

.primaryColor{color:primaryColor}

有没有关于如何将变量注入到SCSS中的想法?

这只是一个猜测,但你是否尝试将插值包裹在双引号中?例如:$color = "#{primaryColor}" - pdoherty926
是的,我做了。结果一样。 - Gapipro
是的,在Slim中这似乎不起作用,这很遗憾。至少你有“css:”变量可以回退。 - pdoherty926
是的,我有 CSS,但主要问题是我想使用 SCSS 函数,比如 darken()。 - Gapipro
如果您从数据库中获取颜色的动态值,并通过传递其ID或在循环中输出它,会怎么样呢? - Sebastián Palma
这与我的问题无关。 - Gapipro
3个回答

1

-1
将“.scss”文件改为“.scss.slim”,然后您的变量扩展就会正常工作。
有关详细信息,请参见资产处理管道预处理

这与我的问题无关。 - Gapipro

-1

您可以在scss指令中使用标准的ERB插值,不确定是否有更简洁的方法。

scss:
  $color = <%= primaryColor %>;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接