Приложение Rails на Heroku загружает Javascript, но функции JS не работают - PullRequest
0 голосов
/ 07 октября 2019

У меня есть приложение rails, развернутое на heroku, и у меня возникают некоторые проблемы с получением нового javascript, написанного с помощью jquery, для работы над развернутой версией сайта.

Я пробовал много разных способов прекомпиляции ресурсов, и похоже, что они на самом деле предварительно компилируются при развертывании на heroku. Однако я не верю, что проблема заключается в прекомпиляции. Странно то, что я вижу новые функции Javascript, загруженные в браузер.

Так, например, у меня есть одна простая функция, которая скрывает кнопку, пока не нажата другая кнопка, очень простая, и она отлично работает в процессе разработки. В развернутой версии сайта я могу найти эту функцию в исходном файле application.js, но кнопка, которую она должна скрывать, не скрыта.

Так что, похоже, JavaScript загружен, но не работает. Кто-нибудь сталкивался с этой проблемой при развертывании с Heroku?

Вот пример некоторых неработающих javascript, снова написанных в jquery.

$('#remove_sock_selection').click(function(){
  $('#sock_images > ul > li > div').removeClass('selected').removeClass('make-thumbnail').removeClass('make-selected');
  $('#sock_images > ul > li').removeClass('mx-0');
  $('#sock_images > ul').removeClass('make-centered');
  $('#sock_images').addClass('mt-5');

  $('#sock_image_selected').hide();
  $('#packaging_images').hide();
  $('#addAdditionalSock').show();
});

На самом деле это просто добавление / удаление классов CSS, основанных на моментах нажатия.

1 Ответ

1 голос
/ 07 октября 2019

Вы уже сбросили кэш или перезагрузили свое производство? Не могли бы вы отправить JS, который вы добавили? Просто дважды проверьте свою производственную систему, если уже была перезагрузка / сброс кеша ваших рельсов. Это распространенная проблема, когда файл js обновляется в рабочей среде.

или, возможно, попробуйте сбросить кеш браузера. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...