いつも忘れてしまうので備忘録。
ダメなパターン
_head.html.erb
<%= stylesheet_link_tag 'style', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'selectordie' %>
<!-- JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
javascript_include_tag
→ jQuery CDN
の順番では期待通りになりませんでした。
正のパターン
_head.html.erb
<!-- JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<%= stylesheet_link_tag 'style', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'selectordie' %>
jQuery CDN
→ javascript_include_tag
の順番だと期待値通りの動作!
まとめ
先にjQueryロードしないとスクリプト読めないって話。(Railsに限った話じゃない・・・)