我在Heroku Cedar上运行了一个Rails 3.1应用程序,它有一个自定义的管理面板。 Admin只是一个命名空间的控制器/视图组合,它位于controllers / admin和views / admin中。 我还'命名'资产:称为assets / javascripts / admin.js.coffe和assets / stylesheets / admin.css.scss,并包括layouts / 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's documentation,我不需要将therubyracer-heroku
之类的宝石添加到我的gemfile中。我的管理资产文件是清单文件,类似于应用程序资产清单:
# application.js.coffee
#= require jquery
#= require jquery_ujs
# admin.js.coffee
#= require jquery
#= require jquery_ujs
有什么想法吗?
9月19日更新事实证明,管理资产永远不会编译到public/assets
,public/assets/manifest.yml
答案 0 :(得分:0)
您是否更新了应用程序的PATH,如您链接的Heroku文档中所述?
我有同样的问题,在PATH中添加'bin'解决了它。