我担心这个问题简直是愚蠢的,但是......有没有选择在rails .erb
文件中使用SASS变量?
我在variables.css.scss
中定义了一些颜色,我希望在我的视图中使用它们的值或在Rails中使用帮助器。也许Rails可以看到一些已编译的sass资源或什么?
感谢您的回答!
答案 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
。
请注意,您可能在生产中使用预编译资产。它将使用常量,如下所示,但如果您想要更改值或从数据库获取它,它将无法工作。