Rails 5 JQuery Uncaught TypeError

После развертывания приложения на Heroku у меня возникла ошибка JQuery.

Я использую Rails 5.2. Таким образом, эта ошибка предотвращает загрузку всего следующего js-кода.

Gemfile:

gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'bootstrap', '~> 4.0.0'

Application.js

//= require rails-ujs
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require jquery.mCustomScrollbar.concat.min
//= require bootstrap
// require turbolinks
//= require_tree .
//

Я предварительно скомпилировал свои активы перед развертыванием в heroku с помощью:

RAILS_ENV=production bundle exec rake assets:precompile

Ошибка :

Uncaught TypeError: t.indexOf is not a function

Я проверил ошибку, и она исходит от этой функции:

/*!
 * Sizzle CSS Selector Engine v2.3.3
 * https://sizzlejs.com/
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license
 * http://jquery.org/license
 *
 * Date: 2016-08-08
 */

Перейдите в развернутая страница на героку и откройте консоль, чтобы увидеть ошибку.

Любые идеи ?

Откуда у вас эта ошибка?

Loqman 23.08.2018 12:03

@Loqman в консоли. Вы можете проверить это здесь: Calm-depths-37631.herokuapp.com/login

Larry Bird 23.08.2018 12:06

Как я вижу. Вы используете версию JQuery "3.2.1". Можете попробовать с более ранней версией "2.1.0" или ниже? Вы можете проверить что-нибудь актуальное по этой ссылке stackoverflow.com/questions/38871753/…. Сообщите мне, если не сработает.

Anshul 23.08.2018 12:17

Эта ошибка может быть вызвана псевдонимами событий jQuery, такими как .load, .unload или .error, которые устарели с jQuery 1.8 и удалены в версии 3.0. Как предложил @Anshul, попробуйте использовать старую версию jQuery и посмотрите, работает ли она.

Loqman 23.08.2018 12:26

@Loqman Кажется, работает с JQuery2! //= require jquery2 в моем application.js

Larry Bird 23.08.2018 14:25

@LarryBird Поскольку комментарий сработал для вас, я разместил его в качестве ответа. Пожалуйста, примите это как решение.

Loqman 23.08.2018 15:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
242
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта ошибка может быть вызвана псевдонимами событий jQuery, такими как .load, .unload или .error, которые устарели с jQuery 1.8 и удалены в 3.0.

Использование более низких версий, таких как 2.1, решит вашу проблему.

Другие вопросы по теме