Amazon S3/Cloudfront CDN 経由でアセットを提供するようにアプリをセットアップしようとしています。これは Rails アプリであり、この heroku ドキュメントasset_sync
に従って、gem を使用してこれを実現しています。
プロジェクトをherokuにプッシュしてから、heroku run rake assets:precompile
. これにより、次のような出力が得られます。
I, [2013-09-20T21:19:06.506796 #2] INFO -- : Writing /app/public/assets/application-cb6347d3ce9380e02c37364b541fd8ae.js
I, [2013-09-20T21:19:19.979570 #2] INFO -- : Writing /app/public/assets/application-9dc3068c1bf9290c7eb0493fd36b3587.css
[WARNING] fog: followed redirect to abc123.s3-us-west-1.amazonaws.com, connecting to the matching region will be more performant
[WARNING] fog: followed redirect to abc123.s3-us-west-1.amazonaws.com, connecting to the matching region will be more performant
cb6347d3ce9380e02c37364b541fd8ae.js
JS ファイルに書き込むハッシュが正しいことに注意してください(ローカルホストでのステージングでもこれを実行したため)。
ただし、問題は、heroku でアプリを実行してソースを調べると、含まれている JS が50460076f4c6eb614a44b6b17323efa7.js
以前にコンパイルされたものとは異なることです...
heroku が使用する適切なプリコンパイル済みアセットを取得しないのはなぜですか? 私はローカルにデプロイし、すべて同じ手順を実行しました。ローカル サーバーは問題なく正しい JS を取得します。
ご協力いただきありがとうございます!