Rails 3.2 の静的アセットを提供するように nginx を適切に構成する方法について、他の多くの質問を読んでみましたが、何を試しても、ブラウザーによって読み込まれるアセット パスが、プリコンパイル後に manifest.yml で指定されたアセット バージョンと一致しません。その結果、すべての資産が見つかりません。
私のnginxの設定は次のとおりです:
location ~ ^/assets/ {
# Per RFC2616 - 1 year maximum expiry
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
expires 1y;
add_header Cache-Control public;
gzip_static on;
# Some browsers still send conditional-GET requests if there's a
# Last-Modified header or an ETag header even if they haven't
# reached the expiry date sent in the Expires header.
add_header Last-Modified "";
add_header ETag "";
break;
}
また、nginx のルート パスが正しいことも確認しました。Unix Domain Socket を介して Unicorn で nginx を使用しています。
初めてこれをセットアップしたとき、すべてが正常にロードされました。次に、アセットを変更して再デプロイしました。その後、その資産は壊れました。その後、アセットのバージョンを上げたところ、すべてのアセットが壊れました。問題が発生した場合に備えて、ローカル キャッシュをクリアしようとしましたが、解決しませんでした。
この時点で髪を引き裂き始めています。どんな助けでも大歓迎です。