我有一个rails应用程序,其中我需要一个css文件,它的属性可以通过ruby代码进行更改。例如。返回背景颜色%>的background_color :<%=拼音代码
因此用户可以设置其css属性,并将像主题一样仅适用于该用户。
谢谢!
发布于 2010-07-21 16:05:43
查看这个截屏视频,它解释了如何使用ERB ( Rails模板系统) http://nubyonrails.com/system/images/css-erb-small.mov设置动态CSS文件。
发布于 2014-04-22 10:03:53
你不能/不应该这样做。您将预编译您的资产,因此无法动态适应不断变化的变量。这是一个不好使用的模式。
一种更简单的方法是在您的元素(body)上添加一个类.active
.inactive
。或者在你的头脑中输出内联css,用于自定义颜色等,这取决于登录的用户。
你想做什么?这听起来像是你在检查自己是在生产还是在开发?在这种情况下,你可以这样做:
<body class='<%= "development" if Rails.env == 'development' %>'>
甚至是
<body <%= "style='background-color: red;'" if Rails.env == 'development' %>
你永远不需要在css和javascript中使用ruby,如果你发现自己在这么做,你可能用了错误的方法。至少这是我在多次尝试做好这件事后发现的。
你可以在你的脑海中这样做:
<style>
.user .name{
color: <%= current_user.chosen_color %>;
}
</style>
附注:数据属性是将变量等传递给javascript的一种非常有效的方法
第2页。这是我在这里的答案的改编:Creating scss variable in config.rb for scss files我认为它也适用于任何来这里的人,所以我也在这里回答了。
发布于 2010-07-21 15:57:14
另外,请看一下http://lesscss.org/
https://stackoverflow.com/questions/3301195
复制相似问题