[Ruby on Rails 4] Turbolinks 5 で JavaScript が発火しない問題の対処
Turbolinks の仕組みを理解できていないけれども、ひとまず動かす方法。
[markdown]
## Head
Head に `reload` を設定。
> * [Turbolinks 5とTurbolinks Classic(2.x)の比較 – Qiita](http://qiita.com/jkr_2255/items/fe1e69e043c94a5c0a79)
“`haml:application.html.haml
= stylesheet_link_tag ‘application’, media: ‘all’, ‘data-turbolinks-track’: ‘reload’
= javascript_include_tag ‘application’, ‘data-turbolinks-track’: ‘reload’
“`
## JavaScript
jQuery で `$(document).ready` な呼び出しをしたい場合は、こんな形式で。
> * [javascript – Rails 5: how to use $(document).ready() with turbo-links – Stack Overflow](http://stackoverflow.com/questions/36110789/rails-5-how-to-use-document-ready-with-turbo-links)
> * [Working with JavaScript in Rails — Ruby on Rails Guides](http://guides.rubyonrails.org/working_with_javascript_in_rails.html#turbolinks)
“`javascript:application.js
$(document).on(‘turbolinks:load’, function() {
console.log(“It works on each visit!”);
});
“`
JavaScript であれば、`turbolinks:load` イベントに対してイベントリスナーを追加するので、こんな形式で。
> * [turbolinks/turbolinks: Turbolinks makes navigating your web application faster](https://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loads)
“`javascript:application.js
document.addEventListener(‘turbolinks:load’, function() {
console.log(“It works on each visit!”);
});
“`
ページ遷移のたびに、console.log されることが確認できる。
> * [window.onloadとjQueryの$(document).ready等の比較](https://rcmdnk.com/blog/2015/07/11/computer-javascript-jquery/)
## 情報
Turbolinks が分からない。
* [今更ながらTurbolinksを初めて仕事で使ってみたので色々調べてみた – seri::diary](http://serihiro.hatenablog.com/entry/2014/08/11/234419)
* [Rails4でturbolinksを謳歌するためのまとめ [俺の備忘録]](http://o.inchiki.jp/obbr/97)
off にする方法。
* [Rails 4 で turbolinks をオフにする方法 – Qiita](http://qiita.com/kazz187/items/12737363d62b9c91993c)
## 補遺
* [Ruby on Rails 4.0 | TECHSCORE(テックスコア)](http://www.techscore.com/tech/Ruby/rails-4.0/)
[/markdown]