#今回陥った事象
aタグやlink_toメソッドでページ遷移するとjsが効いていない。ページをリロードするとjsが効いている。
##ググった結果
turbolinksの仕業(おかげ?)らしい。
####tubolinksの役割
- TurbolinksはRails4.0からデフォルトで導入されたgem
- railsアプリケーションを 簡単に pjaxっぽくすることが出来る。
- ajaxとhistoryAPI(popState, pushState)を利用して画面遷移
- Turbolinksで遷移する場合は、titleとbodyとcsrfトークンを変更する
- csrfトークンは変更された場合のみ
- js, cssの読み込みを初回時に行い次回以降の読み込み処理を省略することで高速化する。
##解決方法
link_toにdata: {"turbolinks"=>false}を指定してあげるとturbolinkによるAjaxを無効にでき、jsが読み込まれるようになる。
link_to "HOME", root_path, data: {"turbolinks" => false}
turbolinksを無効にしたくない方はこちらを参考に
##参考