Kontrollera att du har detta i config/environments/production
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
I grund och botten är ditt problem att dina tillgångar inte kompileras automatiskt.
Mer info här:http://devcenter.heroku.com/articles/rails31_heroku_cedar
Redigera:
Från Rails 3.1 kommer vi att använda Assets-pipeline. Det betyder att du måste lägga alla dina tillgångar (bilder, javascript, css) i app/assets
. Före 3.1 till skulle de placeras i public/**/*
.
I utvecklingsläge kommer Rails 3.1 att automatiskt kompilera (minifiera både JS och CSS, omvandla bilder till base64 i vissa fall, etc.) alla dina tillgångar, skapa ett litet, versionsformat paket.
För ett praktiskt exempel, kör bundle exec rake assets:precompile
i ditt projekt. Ta en titt på den nya mappen i public/
. Du kan säkert ta bort det efter.
I produktionsläge är detta inte automatiskt. Du kan antingen aktivera automatisk kompilering av tillgångarna eller manuellt köra bundle exec rake assets:precompile
före utplaceringen.
Mer information om Assets Pipelinehttp://guides.rubyonrails.org/asset_pipeline.html
Användbart:https://github.com/dnagir/guard-rails-assets