Tjek at du har dette i config/environments/production
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
Grundlæggende er dit problem, at dine aktiver ikke bliver automatisk kompileret.
Mere info her:http://devcenter.heroku.com/articles/rails31_heroku_cedar
Rediger:
Fra Rails 3.1 kommer vi til at bruge Assets-pipelinen. Det betyder, at du skal lægge alle dine aktiver (billeder, javascript, css) i app/assets
. Før 3.1 til ville placere dem i public/**/*
.
I udviklingstilstand vil Rails 3.1 automatisk kompilere (minificere både JS og CSS, transformere billeder til base64 i nogle tilfælde osv.) alle dine aktiver og skabe en lille versionspakke.
For et praktisk eksempel, kør bundle exec rake assets:precompile
i dit projekt. Tag et kig på den nye mappe i public/
. Du kan roligt slette det efter.
I produktionstilstand er dette ikke automatisk. Du kan enten aktivere automatisk kompilering af aktiverne eller manuelt køre bundle exec rake assets:precompile
før indsættelsen.
Flere oplysninger om Assets Pipelinehttp://guides.rubyonrails.org/asset_pipeline.html
Nyttigt:https://github.com/dnagir/guard-rails-assets