railsでリロードしないとjQueryが動かない時の対処法
はじめに
railsでjQueryを使ってタブメニューを実装した際に、リロードしないとjQueryが動かない現象が起きたのでその対処法について。
原因
原因はrailsにデフォルトでインストールされているturbolinks
というgemです。
このgemはjavascriptなどの変換等を省略してページ遷移を早くしてくれるようです。
解決方法
turbolinks
は上記のメリットなどがあるので、gemごとアンインストールするのではなく、
無効化したい処理のところだけ、turbolinksを無効にするのがいいようです。
方法は簡単で、無効化したい処理の部分に下記の記述を追加するだけです。
document.addEventListener("turbolinks:load", function() { // 処理の部分 })