1

我似乎在 Rails 3.2 中的资产管道存在重大问题。这一切都开始了,因为我想在开发环境中工作时为我的 application.css.scss 添加一个单一的、简单的样式。我过去做过这个没有问题,它只是工作,因为没有发生缓存(如你所料)。

但是,当我今天尝试添加新样式时,Rails 拒绝加载更新后的样式。我检查了我的环境设置,它们在 development.rb 中似乎都是正确的,

config.assets.compress = false
config.assets.debug = true

我做了一些研究,并在开发中遇到了rails 3.1 资产管道 css 缓存。按照该问题中给出的建议,我确保删除了该tmp/cache文件夹并执行了清理操作rake assets:clean,以防万一我在某个时候在生产模式下运行了该应用程序并且需要清理它。

毕竟,仍然没有运气。为了确认我没有犯愚蠢的错误,我暂时将样式移至另一个样式表。没问题!它工作得很好!所以我将样式移回,它不会再次加载。

我还检查了控制台。它正确地重新加载了另一个样式表,但没有提及原始样式表。

现在,主要问题来了。作为最后的努力,我尝试清除浏览器缓存。我通常对此没有任何问题,但我认为某些内容可能会被缓存并导致问题。我清除了它并重新加载了应用程序,然后......没有加载任何样式!

似乎我所有的 application.css.scss 样式都在以前的某个时间点被缓存,现在我根本无法重新加载它们!

更新:

虽然我还没有解决这个问题,但我已经通过创建一个名为 main.css.scss 的新样式表(名称不重要)并将所有样式移动到新样式表来解决它。由于//= require_tree .清单中的指令,这是有效的。

但是,如果有人能解释为什么原始样式表停止工作,我很想知道!

4

1 回答 1

0

尝试rm -r public/assets/*

也许您的 assets:clean 任务无法正常工作。

于 2012-11-01T16:17:23.723 回答