Вам нужен движок JavaScript для Rails 3.1 (у heroku его нет), и похоже, что движок JavaScript, который работает с Heroku, является rubyracer для heroku .
Railsиспользует execjs для выполнения JavaScript и execjs поддерживает 7 движков JavaScript.Node.js один, а rubyracer один.
У Джерреда Диллона была похожая проблема, и он писал об этом.В разделе комментариев был поднят вопрос о том, чтобы сделать это производственным изменением, поскольку у вас уже есть nodejs в качестве локального механизма JavaScript.Поэтому соответствующий код:
group :production do
gem 'therubyracer-heroku', '0.8.1.pre3'
end
ОБНОВЛЕНИЕ: В Heroku появился новый стек, который называется Cedar , который они рекомендуют для Rails 3.1.0.(Запустите heroku stack
, чтобы узнать, в каком стеке находится ваше приложение.) Heroku также имеет документ о переходе на Rails 3.1.0 rc5.Они рекомендуют , а не , используя камень 'therubyracer-heroku', так как он больше не нужен для rc5.
Если вы обновляетесь со старого rc, обязательно обновите ваш config / application.rbфайл, а также выполните эту команду:
heroku config:add PATH=vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin:bin
Очевидно, это установлено в новых приложениях, но существующие приложения не установили этот PATH.