Überprüfen Sie, ob Sie dies in config/environments/production haben
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
Grundsätzlich besteht Ihr Problem darin, dass Ihre Assets nicht automatisch zusammengestellt werden.
Weitere Informationen hier:http://devcenter.heroku.com/articles/rails31_heroku_cedar
Bearbeiten:
Ab Rails 3.1 verwenden wir die Assets-Pipeline. Das bedeutet, dass Sie alle Ihre Assets (Bilder, Javascript, CSS) in app/assets
ablegen müssen . Vor 3.1 wurden diese in public/**/*
abgelegt .
Im Entwicklungsmodus wird Rails 3.1 automatisch all Ihre Assets kompilieren (sowohl JS als auch CSS minimieren, Bilder in einigen Fällen in base64 umwandeln usw.) und ein kleines, versioniertes Paket erstellen.
Führen Sie für ein praktisches Beispiel bundle exec rake assets:precompile
aus in Ihrem Projekt. Sehen Sie sich den neuen Ordner in public/
an . Sie können es danach sicher löschen.
Im Produktionsmodus ist dies nicht automatisch. Sie können entweder die automatische Kompilierung der Assets aktivieren oder bundle exec rake assets:precompile
manuell ausführen vor dem Einsatz.
Weitere Informationen zur Assets-Pipeline http://guides.rubyonrails.org/asset_pipeline.html
Nützlich:https://github.com/dnagir/guard-rails-assets