带有rails 4.x

时间:2016-01-12 08:27:56

标签: ruby-on-rails nginx capistrano asset-pipeline unicorn

设置:Rails 4.2.5,Ubuntu 12.04,nginx 1.6,unicorn 5,capistrano 2.15

设置确实适用于Rails 3.2,但是一旦我开始迁移到rails 4.x,我注意到资产的奇怪行为。

在应用程序内部,application.js等资产文件的链接不是manifest.yml中的链接

如果我使用资产清理进行部署,我将获得许多404.应用程序和manifest.yml使用的指纹不同。 如果我立即进行第二次部署而不进行清理,则将提供资产。它们不再与清单匹配,但旧的仍然在文件夹中。杀死独角兽并完全重启并没有改变任何事情。 我在我的应用程序的4.0和4.1分支中遇到了同样的问题。

资产在部署期间在服务器上编译(capistrano脚本)

更新: 我通过控制台检查了哪些指纹生成以及哪些文件存在。结果:哈希很好。

问题是清理脚本删除的文件超过一周或某些时间,并且在进行部署(资产预编译)时,我的某些文件的时间戳错误。

如果我刚刚进行预编译,一些文件的日期戳为1月4日,并被以下清理脚本删除。 Capistrano在编写该文件时向我显示了一些警告,但没有任何有意义的信息

0 个答案:

没有答案