Heroku での Rails 3 および 4 アセットパイプライン
最終更新日 2024年11月29日(金)
Table of Contents
Heroku で実行されている Rails アプリケーションは、ローカルで、デプロイ時に、または実行時にアセットパイプラインをコンパイルできます。新規ユーザーの方は、次に進む前に「Heroku スターターガイド (Ruby)」をお読みになることをお勧めします。
Heroku では、エンドユーザーエクスペリエンスを向上させて Heroku アプリの負荷を軽減するために、CDN でアセットパイプラインを使用することを推奨しています。
Rails 4 アセットパイプライン
Rails 4 とアセットパイプラインを使用している場合、以下のドキュメントの内容を理解することをお勧めします。Rails 3 と Rails 4 の間では多くの動作が似ています。読み終えたら、2 つのエクスペリエンスの違いについて説明している「Heroku での Rails 4 アセットパイプライン」をお読みください。
Rails 3 アセットパイプライン
Rails 3 アセットパイプラインは、Heroku のスタックでサポートされています。新しいパイプラインにより、Rails スタックでのアセットの扱いが向上します。Rails ではデフォルトで、JavaScript には CoffeeScript を、CSS には SCSS を使用します。RailsConf 基調講演での David Heinemeier Hansson による解説もご覧ください。
Rails アセットパイプラインが提供する assets:precompile
rake タスクは、アプリを起動するたびにアセットをコンパイルするのではなく、アセットを事前にコンパイルおよびキャッシュしておくためのものです。
Heroku では 2 通りの方法でアセットパイプラインを使用できます。
- アセットをローカルでコンパイルする。
- slug のコンパイル中にアセットをコンパイルする。