2011-10-18 7 views
2

私はrails 3.1にアップグレードしています。/ imagesディレクトリを/ assetsのエイリアスにする必要があります。これは可能ですか?なぜなら私は、/ images内のファイルへの直接リンクを持つクライアントに私が送り出した電子メールが壊れたくないからです。Rails 3.1:/ assets /ディレクトリへのエイリアス

これはWebサーバーレベルで可能ですか?私はnginxにいる。私はあなたがそれはあなたのイメージにmd5hash文字列を追加します

rake assets:precompile 

を実行したときに大きな問題があることになると思うけど

答えて

7

あなたはnginxの

location /images { 
    alias /usr/share/rails_app/public/assets/images; 
} 

でこれを行うことができます。このハッシュ・ストリングは、変更されたイメージをブラウザに強制的にダウンロードさせるために追加されるため、ブラウザのキャッシュは使用されません。画像の名前が異なるためです。 nginxを使って静的なディレクトリに古い画像を保存する方がいいかもしれません。

+1

アセットを(production.rbファイル内で)コンパイルするときにMD5の問題を解決するには、推奨されていませんが、可能です... – Hock

+0

Rails 3.1.1ではプリコンパイルタスクはこのユースケースのためだけにMD5の有無にかかわらずファイルを生成します。画像フォルダではなく、assetsフォルダに将来のヘッダーを設定してください。 –

関連する問題