如何在css文件中编写ruby代码

我有一个rails应用程序,其中我需要一个css文件,其属性可以通过ruby代码更改。 恩。 background_color:

因此,用户可以设置其css属性,并且仅适用于该主题的用户。

谢谢!

看看这个截屏video,它解释了如何使用ERB(Rails模板系统)设置动态CSS文件http://nubyonrails.com/system/images/css-erb-small.mov

你不能/不应该这样做。 您将预编译您的资产,因此无法动态适应变化的变量。 这是一个糟糕的模式。

更简单的方法是在元素(正文)上添加类.active .inactive 。 或者根据登录的用户输出内联css,以获取自定义颜色等内容。

你想做什么? 这听起来像你要检查你是否在生产或开发? 在这种情况下,您可以执行以下操作:

 '> 

甚至

  

你永远不需要在你的css和javascript中使用ruby,如果你发现自己这么做,你可能会以错误的方式接近它。 至少这是我在多次尝试这么做之后发现的。

你可以在头脑中做到这一点:

  

ps data-attributes是一种将变量等传递给javascript的非常有效的方法

PS2。 这是我的回答改编: 在config.rb中为scss文件创建scss变量我认为这对于来这里的人来说也是相关的,所以我也在这里回答。

另外,看看http://lesscss.org/

如果你只是需要简单的东西,那么你可以在你的布局中做:

  .... <% unless current_user.theme.nil? %>   <% end %> 

如果您正在开始一个新项目,那么SASS就是您的选择,如果您有足够的时间,可能就是您的选择。 如果只是几个条目,那么在HTML中执行它可能并不坏。

注意:我觉得这有点脏,但它会起作用。

查看本教程,了解如何使用SASS引擎动态更改CSS。