config / environment/productionにこれがあることを確認してください
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
基本的にあなたの問題はあなたの資産が自動的にコンパイルされていないということです。
詳細はこちら: http://devcenter.heroku.com/articles/rails31_heroku_cedar
編集:
Rails 3.1から、Assetsパイプラインを使用する予定です。これは、すべてのアセット(画像、JavaScript、CSS)をapp/assets
に配置する必要があることを意味します 。 3.1より前では、それらをpublic/**/*
に配置していました 。
開発モードでは、Rails 3.1はすべてのアセットを自動的にコンパイル(JSとCSSの両方を縮小し、場合によっては画像をbase64に変換するなど)、小さなバージョン管理されたパッケージを作成します。
実際の例として、bundle exec rake assets:precompile
を実行します。 あなたのプロジェクトで。 public/
の新しいフォルダを見てください 。後で安全に削除できます。
本番モードでは、これは自動ではありません。アセットの自動コンパイルを有効にするか、bundle exec rake assets:precompile
を手動で実行できます。 展開前。
アセットパイプラインの詳細
便利: https://github.com/dnagir/guard-rails-assets