Хорошо, похоже, это связано с тем, что, хотя jQuery загружен, его не видно с точки зрения (что бы это ни значило, если честно, это не моя область знаний).
Так что мои тесты былипоказывая загруженный jquery, как это было. Но это было видно только в вебпаке? Я полагаю?
Исправление заключается в добавлении следующего в ваш app / javascript / packs / application.js
import $ from 'jquery';
global.$ = jQuery;
Как только это будет сделано, представление можетзатем посмотрите символ, указывающий на jquery.
Теперь мое приложение уже имеет следующее в config / webpack / environment.js
const { environment } = require('@rails/webpacker')
const webpack = require("webpack")
environment.plugins.append("Provide", new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
}))
module.exports = environment
Но, очевидно, этого недостаточно, чтобы увидеть его в представлении. ,Тем не менее, он позволяет нормально работать turbolinks / bootstrap / etc.
Так что, может быть, есть лучшее место для размещения ярлыков, где они видны обоим, но я не уверен. На данный момент запись в application.js заставляет все это работать.
Следует отметить, что я нашел информацию о том, что "expose-loader" может помочь jquery быть видимым локально, но я не смог заставить это работать.
Ссылка на эти сообщения для исправления:
Для справки я следовал инструкциям других сайтов о том, как получить bootstrap / jqueryработа с webpack и rails 5.2 / 6, но, несмотря на это, они работают. Я не вижу, чтобы они когда-либо подтверждали, что jquery также работает в их ajax.
Примеры руководств: