我正在开发一个遗留应用程序,我刚刚发现它config.assets.compile
被设置true
为production.rb
现在,虽然我们将在 staging 中对其进行测试,但如果可以的话,我想找到应该成为precompile
数组一部分的所有资产。
我所做的是进入tmp/cache
目录并环顾四周:
rails@foobar-production-app:/srv/www/app/shared/tmp/cache$ find . -type f | grep foobar
./57A/651/http%3A%2F%2Fwww.foobar.com%2Fassets%2Fmathquill.css%3F
./AEE/971/http%3A%2F%2Fwww.foobar.com%2Fassets%2Fmathquill%2Fmathquill.min.js%3F
./222/C12/http%3A%2F%2Fwww.foobar.com%2Fassets%2Flegacy-b56a7fd21baf98f1ac20cd77ca77a184.js%3F
./C96/561/http%3A%2F%2Fwww.foobar.com%2Fassets%2Fmathquill%2Fmathquill.min.js%3Fv2.6%3D
我发现了我所期望的文件legacy.js
,我知道预编译中缺少该文件。我是否可能只需要将与我的域名匹配的文件添加到资产预编译中,然后就可以将其推送到生产环境,config.assets.compile = false
或者我应该寻找其他地方/文件来修复。
我确实找到了一堆assets
文件 - 像这样:
./assets/D1D/0F0/sprockets%2F663a54e3907dfc958d784233a6dd0e9a
并且其中的内容确实包含指向图像等的链接,但我可以看到那些指纹资产public/assets
(是的,我们实际上是在生产中预编译资产)。还是这些 sprockets 文件中的任何一个都指向存在问题并且应该修复的问题?
我想我的问题是,我怎样才能最容易地找到任何丢失的资产,而不仅仅是设置标志、推送到暂存和点击。