Heroku - 更新的JavaScript和CSS未加载

Ale*_*der 4 javascript css ruby-on-rails heroku ruby-on-rails-4.1

Ruby版本:2.1.5 | Rails版本:4.1.1

似乎我的JavaScript和CSS没有在Heroku上更新; 缓存的资产仍在使用中.我删除了我的资产,然后在推送到Heroku之前预先编译了它们.以下是我用于执行这些操作的命令:

删除: rake assets:clobber

预编译: rake assets:precompile

我还在RAILS_ENV=production这些命令之前添加了以确保它们应用于生产环境.运行这些命令后,我将更改推送到Heroku.由于在推送之前进行预编译似乎没有工作,我已经尝试删除我的资产并直接在Heroku上进行预编译:

删除: heroku run rake assets:clobber

预编译: heroku run rake assets:precompile

我进入了public/assetsHeroku的文件夹,这就是我发现的:

application-0d6606badc40d6084a3782d50651c010.css
application-0d6606badc40d6084a3782d50651c010.css.gz
application-1f88efe0ffc5587eebd6ead885bf955e.js
application-1f88efe0ffc5587eebd6ead885bf955e.js.gz
application-2c65403ee39420c6b413486e7d954ee3.js
application-2c65403ee39420c6b413486e7d954ee3.js.gz
application-39a78b6323729b437725f30cbcffab4d.js
application-39a78b6323729b437725f30cbcffab4d.js.gz
application-3ce5b6684c1d0a23d08a436030fea4c7.js
application-3ce5b6684c1d0a23d08a436030fea4c7.js.gz
application-3f735ad30db75bbfd113371a14c6a3f6.js
application-3f735ad30db75bbfd113371a14c6a3f6.js.gz
application-52560adc9af4957551dad7717d8987ff.js
application-52560adc9af4957551dad7717d8987ff.js.gz
application-534cb930570eba09f1a83d6ef11166c4.js
application-534cb930570eba09f1a83d6ef11166c4.js.gz
application-5bb0fcb61a9adf08e283ad247ed7f102.js
application-5bb0fcb61a9adf08e283ad247ed7f102.js.gz
application-7bcbc33806a603b057b3d09429629c83.css
application-7bcbc33806a603b057b3d09429629c83.css.gz
application-7bd83de789450a3acb020ab8086935e9.css
application-7bd83de789450a3acb020ab8086935e9.css.gz
application-7eb789f2ca8a49db4ff7095d6a7042c9.css
application-7eb789f2ca8a49db4ff7095d6a7042c9.css.gz
application-86b28f1fc499b53f20766336a8a6bb2e.css
application-86b28f1fc499b53f20766336a8a6bb2e.css.gz
application-9dda55d67da5b91e578c1a59509d1fff.js
application-9dda55d67da5b91e578c1a59509d1fff.js.gz
application-b743afe07578e24612848090bb8f8989.js
application-b743afe07578e24612848090bb8f8989.js.gz
application-c614c86454dba513e5e57bf604a9febf.js
application-c614c86454dba513e5e57bf604a9febf.js.gz
application-eee374eeb97a96414374797e0c9fc79c.js
application-eee374eeb97a96414374797e0c9fc79c.js.gz
application-f5dd56cc83e5cbff6105ff7e685d06b2.js
application-f5dd56cc83e5cbff6105ff7e685d06b2.js.gz
application-f8b34c1363fd3d16bc986d5e5b2a7c32.js
application-f8b34c1363fd3d16bc986d5e5b2a7c32.js.gz
bootstrap
manifest-136cd5bd1fa34e1319ea7deb5f933b55.json
manifest-15b224a7001a7bbe038449878d61ae56.json
manifest-1d571fcaa1a29e0de44c84db004f855f.json
manifest-26a02612b9bb6a5cbddde3ba6a6e4c79.json
manifest-2b4afca7ab226f8cf64fa24d11dae039.json
manifest-33d5fb906f0d92f5704b80c31623b9b8.json
manifest-361c06dd69f189783b32790da32fc00d.json
manifest-3e69106386e77ec5b2ef3aea206559cc.json
manifest-6a4901fcc600bed74f94b78afaa60abf.json
manifest-6c912bacdd6db8ea13780aa82cd7cfd6.json
manifest-77805855a3831e1e631438d166242b87.json
manifest-7c5085b7f41e857c1f280a92c37fe4c5.json
manifest-8627268e6cf6557e31e1160093545734.json
manifest-901ca9c0755e35e84b309426fa248352.json
manifest-91fc08ea4efe016b0dafa903dac29665.json
manifest-aebb057a0936e1a9a87fb6540028beda.json
manifest-c562fae7154ab54eec0e038ef8c2f10e.json
manifest-d410fdad309c708ecc1f5465370d6fa5.json
Run Code Online (Sandbox Code Playgroud)

显然,该目录中的文件数量应该超过应有的数量,但我似乎无法摆脱它们.我删除了整个public/assets文件夹并运行了一个heroku run rake assets:clobber命令,但该文件夹不断自动重新创建所有这些文件.

我怎样才能清除这个巨大的缓存?

Ale*_*der 13

我想到了!每当我运行git status命令时,它会从我的public/assets文件夹中列出所有这些已删除的文件.我认为问题发生是因为我的public/assets文件夹没有被Git跟踪.我做了以下事情来解决这个问题:

git rm -r public/assets
Run Code Online (Sandbox Code Playgroud)

这从我的git repo中删除了所有预编译资产,public/assets并将它们暂存以进行提交.以前,他们没有上演提交.

RAILS_ENV=production rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

为了在推送到Heroku之前预编译我的资产,我之后运行了这个.运行上一个命令后,我的public/assets文件夹被删除.

git add .
Run Code Online (Sandbox Code Playgroud)

这将在我的项目中暂存所有新的,已修改的和已删除的文件以进行提交.

在此之后,我刚刚提交并推送到Heroku,现在Heroku只列出文件public/assets夹中的几个文件!我还在我的网站上看到了更新的JavaScript和CSS!