今回は、必要か必要じゃないのかよく分からない
turbolinksについて備忘録を書いていきます。
turbolinksとは
画面遷移を高速化させるライブラリ(Gem)
「rails new」した時点から、標準で組み込まれている。
これが原因で、Javascriptが正常に機能しなくなる場合がある。
デフォルトで組み込まれているライブラリなので、仕様は必ず把握する必要がある。
通常であればページが読み込まれたタイミングで、
load イベントが発生しますが、turbolinks によって画面が切り替わった場合は load イベントは発生しません。
その為、ページ読み込みを起点としたJavascriptは機能しなくなります。
なので実際に
turbolinksに関する記述をコメントアウトしていきます。
app/javascript/packs/application.js
// 省略
require("@rails/ujs").start()
// require("turbolinks").start() // ここをコメントアウトする
require("@rails/activestorage").start()
require("channels")
// 省略
多くの場合はこのようにコメントアウトや削除をする方がベターみたいです。
いつどこで役に立つかは、まだ恩恵を受けていないので分かりません。