ruby-on-rails – Rails 3.1.1资产管道Heroku缓存gotcha
简而言之,问题在于,在开发模式下,我们将对CSS或JS文件进行更改,但始终会获取这些文件的缓存/旧版本.我没有任何效果.我检查了几十次配置,并尝试配置值的每个组合,但始终保持相同的结果:stale / cached文件.我必须实际运行在生产模式,并在每次更改后重新启动服务器进行测试.
我在这个问题上花了几天时间撕掉头发,看着资产管道上的几十个stackoverflow问题,但从来没有找到一个解决它的问题,所以我以为我会把它发贴在后面. 我们使用Heroku并预编译我们的资产,因为Heroku未能为我们预编译(我们还使用显然是英雄预编译失败的原因的设计).所以为了推动我们的预编译资产到Heroku,我们必须检查他们git. 这是问题. 当我们升级到Rails 3.1.1资产预编译生成文件时,带有和不带有名称中的MD5哈希.我没有想到太多,并且继续检查所有这些文件,所以我可以推到英雄.有一段时间,我注意到缓存结果在开发模式下的问题.预先编译和检查的资产没有MD5散列从/ public / assets作为静态文件提供,这阻止了我们在/ app / assets中发生任何改变. 终于意识到这一点,我跑了git rm / public / assets,一切都起作用了.所以外卖是:仔细检查资产到git! 把它变成一个问题:别人怎么做?我错过了什么吗?我真正希望的是Heroku可以为我预先编译资产,但是由于设计,我收集的数据库连接错误是失败的.我曾经希望Rails 3.1.1修复了这一点,但是没有. 解决方法
你在
github上签了这个
devise issue吗?何塞·瓦林说
也许这将允许预编译在Heroku上发生. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |