[Rails Asset Pipeline] image_urlは本番環境でダイジェストURLを生成しません
Image_url Does Not Generate Digested Url Production Environment
問題
# # =>
これは開発環境では正常ですが、サーバーにデプロイすると問題になります。
# Production Environment # =>
処理する
- 最初はウェブサイトに画像が表示されていないのを見ましたが、cssファイルとjsファイルがあります。
digested url
Soasset pipeline
設定は問題ありません。 - 次に、リソースのコンパイルが成功したかどうかを確認します。
/path/to/rails_app/public/assets/
ディレクトリの下にも処理済みの画像リソースがあります。次に、問題はimage_tag
withimage_url
メソッドにあります。 image_url
inActionView::Helpers::AssetUrlHelper
モジュールで定義ActionView::Base
クラスinclude
モジュールなので、1つをインスタンス化できますActionView::Base
オブジェクト、これをテストするのに便利ですコンソール。サーバーでのRailsコンソールテストは、正しい名前を生成するためにサフィックス名を追加する必要があることを認識しています。digested url
。
> ActionView::Base.new.image_url('common_header') => '/images/common_header' > ActionView::Base.new.image_url('common_header.jpg') => '/assets/common_header-4187405b...32b.jpg'
解決
したがって、解決策は、image_url()メソッドを呼び出すすべてのパラメーターを、対応する画像ファイルのサフィックス名で変更することです。