Я думал об этом уже пару дней.
Почему-то мой jQuery с семантическим интерфейсом не работает.
Так вот что я сделал.
В моем webpack / environment.js:
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}))
module.exports = environment
Я добавил файл custom.js со следующими кодами в app / javascripts / packs:
$(document).on('turbolinks:load', function(){
$('.ui.dropdown').dropdown();
})
И затемвнутри моего application.js w / c находится в app / javascripts / packs. У меня есть ff:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("packs/custom")
На консоли Chrome вот что я вижу:
Uncaught TypeError: $(...).dropdown is not a function
at HTMLDocument.<anonymous> (custom.js:3)
at HTMLDocument.dispatch (jquery.js:4588)
at HTMLDocument.elemData.handle (jquery.js:4408)
at Object../node_modules/turbolinks/dist/turbolinks.js.e.dispatch (turbolinks.js:75)
at r.notifyApplicationAfterPageLoad (turbolinks.js:994)
at r.pageLoaded (turbolinks.js:948)
at turbolinks.js:872
Я думал, что ясделал все правильно, но по какой-то причине это решение не сработало вообще. Есть идеи, что я делаю не так?