Проверете дали имате това в config/environments/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 ще използваме тръбопровода за активи. Това означава, че трябва да поставите всичките си активи (изображения, javascript, css) в app/assets
. Преди 3.1 ще ги постави в public/**/*
.
В режим на разработка Rails 3.1 автоматично ще компилира (минифицира както JS, така и CSS, трансформира изображения в base64 в някои случаи и т.н.) всички ваши активи, създавайки малък пакет с версии.
За практически пример изпълнете bundle exec rake assets:precompile
във вашия проект. Разгледайте новата папка в public/
. Можете спокойно да го изтриете след това.
В производствен режим това не е автоматично. Можете или да активирате автоматично компилиране на активите, или да стартирате ръчно bundle exec rake assets:precompile
преди разгръщането.
Повече информация за Assets Pipelinehttp://guides.rubyonrails.org/asset_pipeline.html
Полезно:https://github.com/dnagir/guard-rails-assets