Zkontrolujte, zda to máte v config/environments/production
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
Váš problém je v podstatě v tom, že vaše aktiva nejsou automaticky kompilována.
Více informací zde:http://devcenter.heroku.com/articles/rails31_heroku_cedar
Upravit:
Od Rails 3.1 budeme používat potrubí Assets. To znamená, že musíte vložit všechna svá aktiva (obrázky, javascript, css) do app/assets
. Před verzí 3.1 by je vložil do public/**/*
.
Ve vývojovém režimu Rails 3.1 automaticky zkompiluje (minifikuje JS i CSS, v některých případech transformuje obrázky na base64 atd.) všechna vaše aktiva a vytvoří malý verzovaný balíček.
Pro praktický příklad spusťte bundle exec rake assets:precompile
ve vašem projektu. Podívejte se na novou složku v public/
. Poté jej můžete bezpečně smazat.
V produkčním režimu to není automatické. Můžete buď povolit automatickou kompilaci aktiv, nebo ručně spustit bundle exec rake assets:precompile
před nasazením.
Další informace o Assets Pipelinehttp://guides.rubyonrails.org/asset_pipeline.html
Užitečné:https://github.com/dnagir/guard-rails-assets