みずラテ

牛乳と水を2対1で。

【Rails】ファイルに書いたjQueryが読み込まれないときの対処法

初歩的なところで毎度ハマっています。

今回の事象

test.jsをapp/assets/javascripts配下に配置して以下の簡単なalertを出すだけのメソッドでテスト。
gemのインストールは終わっている前提です。

$(document).ready(function() {

  $('#aaa').on('click', function() {
    alert("クリックされました");
  });

});

が、しかし動かない。

原因

application.jsに記載したrequireの順序でした。

↓これじゃ動かない

//= require rails-ujs
//= require activestorage
//= require turbolinks
//= require_tree .
//= require jquery
//= require jquery_ujs

↓これで動く。jQueryの読み込み位置に注目。

//= require rails-ujs
//= require jquery
//= require jquery_ujs
//= require activestorage
//= require turbolinks
//= require_tree .

理由

jQueryはturbolinksよりも先に読み込ませる必要があるそうです。


以上。


Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

  • 作者:山田 祥寛
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/04/14
  • メディア: 大型本