如何在每个请求上自动预编译css.erb文件

时间:2014-03-11 12:32:18

标签: html css ruby-on-rails ruby

custom_colors.css.erb 文件中:

<%
  WebsiteSetting.last.link_color.present? ? (link_color = WebsiteSetting.last.link_color) : (link_color = '#0088cc')
%>
$custom_link: <%= link_color %>;

并且在许多css文件中我使用$ custom_link变量,但是当我通过colorpicker(hex)设置link_color字段来更新WebsiteSetting.last时,视图中没有任何变化。我想问题是请求后预编译custom_colors.css.erb文件。

1 个答案:

答案 0 :(得分:0)

动态资产预编译(在每个请求上)通常仅在开发环境中完成,仅用于调试原因。

如果您希望能够使用一些依赖于请求的样式,请考虑将该代码移动到应用程序布局:

<强> application.html.erb:

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <style type="text/css">
      #my_div {
        color: <% WebsiteSetting.last.link_color.present? ? WebsiteSetting.last.link_color : '#0088cc' %>;
      }
    </style>
    ...
  </head>
  <body>
    ... 
  </body>
</html>