Javascript приложения Rails перестал работать в продакшене, отлично работает в разработке

Ни один из моих javascript, похоже, не работает в производстве.

К сожалению, эти вопросы: JavaScript не работает в рабочем приложении Rails https://stackoverflow.com/questions/27470207/rails-javascript-working-in-development-but-not-in-production Представления Rails JavaScript не работают в рабочей среде Rails 3.2.3 JavaScript внезапно перестал работать либо без ответа, либо решения не помогают.

В среде разработки все мои JS работают абсолютно нормально. Однако на производстве даже простые вещи, которые я сделал сам, не работают (я использую шаблон начальной загрузки с большим количеством включенного JS).

Единственная ошибка, которую я получаю, это

Uncaught ReferenceError: angular is not defined
angular.module("app",[require("./home").name]);

Но это не должно влиять на остальную часть javascript. Вот окружение/production.rb:

config.cache_classes = true
  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  # config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = false

  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  # yet still be able to expire them through the digest params.
  config.assets.digest = true

  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb

Я пытался установить для компиляции значение true, это не помогло.

Вот что я поместил в initializers/assets.rb:

Rails.application.config.assets.precompile += %w( *.js *.css *.scss *.coffee )

Тоже не помогло.

Я запускаю rake assets:precompile вручную (хотя мой скрипт puma capistrano тоже это делает:

DEBUG [b487d8df] Command: cd /home/deploy/apps/mosflash/releases/20150924201201 && ( RAILS_ENV=production ~/.rvm/bin/rvm default do bundle exec rake assets:precompile )

Может ли кто-нибудь намекнуть мне в правильном направлении?


person mohnstrudel    schedule 24.09.2015    source источник
comment
Вы определили свое приложение как приложение Angular в своем макете приложения. Например: ‹html ng-app = exampleApp›   -  person William Holt    schedule 25.09.2015
comment
Нет, я едва знаю, что такое Angular (это купленный шаблон, а не тот, который я сделал сам). Вы думаете, что это может быть источником моей проблемы? В режиме разработки все работало нормально...   -  person mohnstrudel    schedule 25.09.2015
comment
Как ни странно, удалив соответствующую строку, я смог без проблем запустить все в продакшене. Не предполагал, что ошибка будет настолько важной! Если кто-то столкнется с той же ошибкой - шаблон минимальный - адаптивная тема электронной коммерции, где вам нужно удалить эту строку в main.js: angular.module("app",[require("./home").name]);   -  person mohnstrudel    schedule 28.09.2015