在Rails代码中使用SASS变量

时间:2015-08-08 13:55:45

标签: ruby-on-rails sass

我担心这个问题简直是愚蠢的,但是......有没有选择在rails .erb文件中使用SASS变量?

我在variables.css.scss中定义了一些颜色,我希望在我的视图中使用它们的值或在Rails中使用帮助器。也许Rails可以看到一些已编译的sass资源或什么?

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

你可以反过来做,即在你的css / sccs代码中使用ruby代码。这有点棘手,但它可能对你有所帮助:

首先将颜色声明为红宝石常数:

# Put this into config/initializers/constants.rb for example
module Constants
  FOO_COLOR = '#123456'
end 

接下来,将variables.css.scss重命名为variables.css.scss.erb并使用上一步创建的常量

$fooColor: <%= Constants::FOO_COLOR %>

最后使用其他sccs文件中的颜色

@import "_variables";
#foo {
    background-color: $fooColor;
}

您也可以在Rails代码中使用Constants::FOO_COLOR

请注意,您可能在生产中使用预编译资产。它将使用常量,如下所示,但如果您想要更改值或从数据库获取它,它将无法工作。