#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.