railsでリロードしないとjQueryが動かない時の対処法

はじめに

railsjQueryを使ってタブメニューを実装した際に、リロードしないとjQueryが動かない現象が起きたのでその対処法について。

原因

原因はrailsにデフォルトでインストールされているturbolinksというgemです。

このgemはjavascriptなどの変換等を省略してページ遷移を早くしてくれるようです。

解決方法

turbolinksは上記のメリットなどがあるので、gemごとアンインストールするのではなく、

無効化したい処理のところだけ、turbolinksを無効にするのがいいようです。

方法は簡単で、無効化したい処理の部分に下記の記述を追加するだけです。

document.addEventListener("turbolinks:load", function() {
    // 処理の部分
})