Я пишу некоторый исследовательский javascript для страницы. Он включает в себя следующую строку:
dashboard_settings.addEventListener('ajax:complete', function(){
...
Я разместил скрипт непосредственно перед закрывающим тегом body.
Я заметил, что когда я перехожу на страницу, JS работает так, как я ожидаю, и в консоли нет сообщений об ошибках. Однако, когда я ухожу со страницы, в консоли JS отображается сообщение об ошибке:
Uncaught TypeError: Cannot read property 'addEventListener' of null
Я так понимаю, что это как-то связано с турболинками. Однако я не уверен, как избежать этого, не отключая турболинки.
Есть ли способ указать, что скрипт загружается только для одной страницы?
Я безуспешно пробовал следующее:
<%= yield :page_scripts %>
<% content_for :page_scripts do %>
<script>
document.addEventListener('turbolinks:load', function(){
...
$( document ).on('turbolinks:load', function() {})
. См. раздел Turbolinks в документации: guides.rubyonrails.org/ - person John Baker   schedule 22.10.2018