【发布时间】:2011-01-18 21:31:26
【问题描述】:
我正在研究在 Rails 应用程序中处理动态 CSS 的问题。在应用程序中,个人用户和/或用户组可以拥有通过 CSS 实现的自定义外观。不会有任何固定数量的“外观”或 css 文件,数量会随着用户和组数量的增长而增长,外观由用户通过应用程序的管理界面定义。在典型的一天中,将提供数千个(不是数万个)不同的 CSS 变体。该应用程序会将预先构建的 css 存储在 mongodb 中,因此它不必为每个请求支付构建 css 的价格,问题更多的是如何提供这种动态 css 内容的最佳方式。我已经看到其他问题,如 [this one][1] 与使用 erb 或 sass 相关,但其中一些答案已经过时了好几年,所以我想确保 Rails 3 没有更好的答案。
【问题讨论】:
-
与其将 css 存储在 mongodb 中,不如将其存储在公共目录中的磁盘上 css 文件中,文件名与用户的 id 相关联?这样你就可以正常地提供css(通过头部的链接标签)并利用浏览器缓存。每当进行更改时,您只需清除缓存并将基于编辑时间的缓存拦截器添加到链接标签 src。
标签: ruby-on-rails css