У меня есть приложение Rails 3.1, запущенное на Heroku Cedar, и оно имеет собственную панель администратора.
Admin - это просто комбинация контроллеров и представлений в пространстве имен, которые находятся в controllers / admin и в views / admin.
Я также «пространство имен» активов: назвал их assets / javascripts / admin.js.coffe и assets / stylesheets / admin.css.scss и включил оба из макетов / admin / application.html.haml
Heroku прекрасно компилирует приложение. (Css.scss | js.coffee) в файлы javascript / stylesheet. Когда я захожу в веб-приложение, оно просто работает.
Но когда я захожу в '/ admin', я получаю следующую ошибку:
Когда я захожу на сайт в производстве, я получаю следующую ошибку:
2011-09-19T15:47:18+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.2.5/lib/execjs/runtimes.rb:46:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.2.5/lib/execjs.rb:5:in `<module:ExecJS>'
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.2.5/lib/execjs.rb:4:in `<top (required)>'
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require'
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency'
2011-09-19T15:47:18+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
2011-09-19T15:47:18+00:00 heroku[web.1]: Process exited
2011-09-19T15:47:20+00:00 heroku[web.1]: State changed from starting to crashed
Согласно документации Heroku Мне не нужно добавлять драгоценные камни, такие как therubyracer-heroku
, в мой гемфайл. Мои файлы активов администратора являются файлами манифеста и аналогичны манифестам активов приложения:
# application.js.coffee
#= require jquery
#= require jquery_ujs
# admin.js.coffee
#= require jquery
#= require jquery_ujs
Есть мысли?
Обновление 19 сентября: Как оказалось, ресурсы администратора никогда не компилируются в public/assets
и ни один из них не присутствует в public/assets/manifest.yml