Edited at

【Rails】 jQueryが動作しない時の対処法 (読み込む順番に気をつけないといけない)

いつも忘れてしまうので備忘録。


ダメなパターン


_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_tagjQuery 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 CDNjavascript_include_tag の順番だと期待値通りの動作!


まとめ

先にjQueryロードしないとスクリプト読めないって話。(Railsに限った話じゃない・・・)