将Rails 3.1命名空间资产部署到Heroku

时间:2011-09-19 15:58:16

标签: heroku ruby-on-rails-3.1 coffeescript sass

我在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/assetspublic/assets/manifest.yml

中也不存在

1 个答案:

答案 0 :(得分:0)

您是否更新了应用程序的PATH,如您链接的Heroku文档中所述?

我有同样的问题,在PATH中添加'bin'解决了它。