В моем приложении Rails 5 мы используем переключатели раскрывающегося списка через Bootstrap/jQuery. Проблема в том, что независимо от того, в каком порядке я загружаю jQuery и Bootstrap в application.js, консоль выводит «JavaScript Bootstrap требует jQuery» -ИЛИ- выпадающие списки просто направляются к /# при нажатии. Изменение порядка загрузки временно устраняет проблему, затем она возвращается.
Во-первых, извините, если я что-то забыл здесь. Это мой первый пост в StackOverflow...
Мы изменили порядок загрузки application.js с:
(это не выдает ошибок консоли, просто переключатели перестают работать) .. //= требуется jquery //= требуется загрузка ..
to .. (это выдает «Bootstrap JavaScript требует jQuery в консоли JS) //= требуется загрузка //= требуется jquery ..
и обратно несколько раз
(следующий код проверен, все теги закрыты, я сократил их, чтобы показать, что должны делать две сосуществующие функции)
приложение.js ..
//= require rails-ujs
//= require activestorage
//= require turbolinks
//= require bootstrap
//= require jquery
//= require_tree .
вид быстрого редактирования..
<div class="collapse" id = "quickedit-user-<%= user.id %>
<%= render partial:users_quick_edit', locals { user: user } %>
</div>
.. выпадающая навигация
..
<li class="dropdown">
<a href="#" id="dropdownMenu" class= "dropdown-toggle" data-toggle="dropdown">
<%= current_user.username %> <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link_to "Profile", current_user %></li>
..
В результате правильной загрузки ресурсов должны работать не только переключатели для выпадающих списков, но и «формы быстрого редактирования». Мы этого не видим, так как они ломаются в любой установке.