#はじめに
今回は私がオリジナルアプリの非同期処理のいいね機能を作成中にハマったエラーの解決方法を書かせて頂きます。
今回ご紹介するこちらの解決法は他に記事がなく(私が見つけられなかっただけかもしれませんが)、私自身かなり苦労しました。
なので、この記事がRails6での非同期処理の実装にお困りの方の助けになれば幸いです。
#バージョン
Rails6
(Rails5の方は対象外となります。)
#前提
JQueryの導入が完了していることを前提とします。
#エラー内容
Console.
VM108:1 Uncaught ReferenceError: $ is not defined
at <anonymous>:1:13
at processResponse (rails-ujs.js:283)
at rails-ujs.js:196
at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.js:264)
このエラー文の内容としては
「create.js.erb
に書いてあるJQueryのコードが読み込めませんよ」という内容です。
#解決法
JQueryを読み込ませるにはjavascript/packs/application.js
に下記の記述をします。
application.js
window.$ = $;
これでJQueryをグローバルに使用できるようになり、
js.erb
ファイルでもJQueryを読み込むことができるようになります。
以上です。
いいね機能を作る際のコントローラやビューやルーティングのコードはたくさんの方が投稿してくれていますので
そちらをご覧いただければと思います。