前提・実現したいこと
新規jsファイルに記述したjqueryのコードを動くようにしたいです。
発生している問題・エラーメッセージ
既存jsファイルに記述したjqueryは動くのですが、新規に追加したjsファイルにjqueryを記述しても動きません。
しかし、jqueryではなくjavascriptを記述した場合は既存であれ、新規であれ、動きます。
以下はルーティングエラーですが、このエラーは以前から出ていたので関係ないと踏んでいます。
ActionController::RoutingError (No route matches [GET] "/assets/bootstrap.js.map"):
該当のソースコード
- application.jsにてturbolinksをオフにしています。最初からオフにしていたわけではなく、作業進めていく中で弊害を感じたので、オフにしました。
js
1application.js 2//= require jquery 3//= require rails-ujs 4//= require bootstrap 5//= require activestorage 6// require turbolinks 7//= require moment 8//= require moment/ja.js 9//= require tempusdominus-bootstrap-4.js 10//= require croppie 11//= require masonry.pkgd.min 12//= require glide.min 13//= require select2 14//= require popper 15//= require bootstrap-sprockets 16//= require_tree .
一時的な解決方法
以下のようにapplication.jsに新規jsファイル名を記述してrequireで強制的に読み込ませています。
js
1application.js 2. 3. 4//= require 新規jsファイル名 5. 6.
個人的な見解
恐らくturbolinksをオフにしたことで、アセットパイプラインに何らかの問題が発生しているのかと思います。
しかし、turibolinksをオンにすると、これまで記述したコードを書き直したりしないといけないですし、個人的にこれは使い勝手が悪いと思うので、今後も使わない予定なので、出来ればオフにした状態でこの問題を解決したいです。
補足情報(FW/ツールのバージョンなど)
Ruby on Rails.ver5.2
あなたの回答
tips
プレビュー