繁体   English   中英

如何在Rails 2.3中预编译CSS样式表?

[英]How to pre-complie css style sheets in rails 2.3?

我为客户开发了一个新要求,我向现有的样式表文件中添加了一些CSS规则,并且这些更改在开发过程中反映在本地计算机上。 但是,当我将更改移到登台服务器并重新启动nginx时,我所有的功能都可以使用,但我的CSS规则未得到应用,当我检查Firebug控制台中是否包含特定文件,但我的新CSS规则不在其中时,应该如果可以的话,我会预编译我的css样式表,如何在rails 2.3.x中执行...?

提前致谢。

Rails 2.3没有资产管道。 因此,无需预编译资产。 您的资产应该已经位于Rails.root/public/stylesheets文件夹中

web server直接为Rails.root/public/文件夹中的任何内容提供服务,并且不涉及rails。

您的问题很可能是某种缓存。 您可以尝试使用其网址直接获取样式表,如下所示

http://server.domain/stylesheets/mystyles.css

并查看您的更改是否得到反映。

您还可以检查Firebug > Net选项卡,查看样式表是从服务器下载的(http返回代码: 200 OK ),还是从缓存中获取的样式表(http返回代码: 304 Not Modified )。

rails 3.1 asset pipeline采用了多种方法来处理此类问题。

  1. 内容更改时使用其他文件名
  2. 使用ETag标头
  3. 附加唯一的哈希(使用文件的时间戳计算)作为query string 例如, http://domain/style.css?djfhsfhkkjdsfh ,其中djfhsfhkkjdsfh更改style.css djfhsfhkkjdsfh都会更改。

是几个常用的技巧。

如果您热衷于在rails 2.3上使用资产管道,则可以选择Jammit之类的选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM