我已经安装了less-rails宝石,因为我热衷于使用LESS提供的颜色操作。我需要从我的数据库中提取一种颜色作为我的主题基色,并从那里开始构建。
我有静态CSS,并将其重命名为styles.css.less以确保rails了解扩展程度较低的内容。
接下来我尝试将文件包装为erb,希望在发送给LESS之前允许ruby字符串文字进行处理,并最终输出为有效的CSS(仍然和我在一起?)
该文件现在称为style.css.less.erb。虽然文件简单包含有效的CSS,但文档的处理仍然有效。只要我添加一个ruby字符串文字就会失败。
color: #{"#112233"};
在chrome调试器中,此行之后没有任何内容被处理。
我做错了什么,我该怎么办?
答案 0 :(得分:1)
正如Chowlett在评论中所说,你应该使用erb语法:<%= "#112233" %>
下一步是从db获取该值。如果此颜色值是应用程序范围的,那么您可能正在寻找db解决方案中的设置。我使用rails-settings-cached gem。您的结果代码将如下所示
color: <%= Setting.foo_color %>
如果您在生产中使用资产,请不要忘记在每次设置更改后重新编译它们。
如果它不是一个设置,但可能是每个用户特有的东西,那么你不能使用应用程序范围的css文件,但你可以在视图中编写内联css。