Модальный загрузчик не открывается в Rails

#jquery #ruby-on-rails #bootstrap-4 #bootstrap-modal

Вопрос:

Я пытаюсь открыть модальный загрузчик в представлении Rails с помощью следующего html:

 lt;div id="new_event"gt;  lt;p type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#newEventModal"gt; lt;/pgt;    lt;div id="newEventModal" class="modal fade" role="dialog"gt;  ...  lt;/divgt; lt;/divgt;  

К сожалению, нажатие этой кнопки вообще ничего не делает, а загрузка этой страницы приводит к следующей ошибке:

 Uncaught TypeError: Cannot set properties of undefined (setting 'selectShow')  

Затем он указывает на блок кода , который, по-видимому, автоматически вставляется в конец моего application.js файла, поскольку он находится за пределами моей копии этого файла. Упомянутый блок-это:

 //jquery to optionally show or hide UI elements based on a dropdown ;(function($, window, document, undefined) {  $.selectShow = function(element, options) {  var BlockElements = element  , settings = $.extend({  ShowElement: null,  SelectOption: '.option_select',  ListElement: '.option_element'  }, options);  

У меня и раньше были проблемы с jquery в Rails из-за неправильной настройки jquery, но я могу делать другие вещи с функциями, связанными с jquery, просто отлично — у меня есть календарь, настроенный fullcalendar так, чтобы он работал именно так, как я ожидаю. Есть ли какая-то другая конфигурация, которая настроена неправильно, или какой-то другой пакет, который установлен неправильно? Что я здесь упускаю?

(И дайте мне знать, если я не предоставил достаточно информации. Я все еще новичок в Rails и не уверен, что все это имеет отношение к делу.)

Комментарии:

1. Попробуйте загрузить свой Javascript при загрузке turbolinks: $(document).on('turbolinks:load', function() {

2. @SaraFuerst, куда мне поместить эту строку и что мне ее обернуть? Явно оскорбительный блок Javascript даже не находится в файле, который я могу редактировать; он, по-видимому, автоматически добавляется в конец application.js Rails.

3. Чтобы уточнить, вы не писали Javascript выше? Вы видите, что на него ссылается только браузер?

4. @SaraFuerst Да. Этот блок начинается в строке 54 application.js ; моя редактируемая копия application.js заканчивается в строке 53.