前提・実現したいこと
Railsにてアプリケーションを作っています。
material-dashboard
というbootstrapフレームワークを使っているのですが、
狙った方法でjavascriptsが読み込まれないのでご質問させてください。
前提
- material-dashboardをダウンロードし、各ファイルを下記のように置いています
javascriptsフォルダ直下にある
application.js
cable.js
payjp.js
以外がmaterial-dashboardからダウンロードしたフォルダならびにファイルとなります。
発生している問題・エラーメッセージ
本来であれば
application.html.erb
に
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
を記述し、
application.js
に
//= require_tree .
を置くことでjavascripts
ディレクトリにあるすべてのファイルが読み込まれるはずだと思うのですが、
新たに置いたjs
フォルダ以下のファイルが読み込まれない状況です。
そのため公式HPにあるようにクイックスタートとして
application.html.erb
に下記を置いたのですが、
動きはするものの検証モードで確認するとかなりの数のjsのエラーが発生しております。
(さらにこれだと本番環境で動きません)
<!--Core JS Files --> <script src="/assets/js/core/jquery.min.js" type="text/javascript"></script> <script src="/assets/js/core/popper.min.js" type="text/javascript"></script> <script src="/assets/js/core/bootstrap-material-design.min.js" type="text/javascript"></script> <!--Plugin for the Perfect Scrollbar --> <script src="/assets/js/plugins/perfect-scrollbar.jquery.min.js"></script> <!--Plugin for the momentJs --> <script src="/assets/js/plugins/moment.min.js"></script> <!--Plugin for Sweet Alert --> <script src="/assets/js/plugins/sweetalert2.js"></script> <!--Forms Validations Plugin --> <script src="/assets/js/plugins/jquery.validate.min.js"></script> <!--Plugin for the Wizard, full documentation here: https://github.com/VinceG/twitter-bootstrap-wizard --> <script src="/assets/js/plugins/jquery.bootstrap-wizard.js"></script> <!--Plugin for Select, full documentation here: http://silviomoreto.github.io/bootstrap-select --> <script src="/assets/js/plugins/bootstrap-selectpicker.js" ></script> <!--Plugin for the DateTimePicker, full documentation here: https://eonasdan.github.io/bootstrap-datetimepicker/ --> <script src="/assets/js/plugins/bootstrap-datetimepicker.min.js"></script> <!--DataTables.net Plugin, full documentation here: https://datatables.net/ --> <script src="/assets/js/plugins/jquery.dataTables.min.js"></script> <!--Plugin for Tags, full documentation here: https://github.com/bootstrap-tagsinput/bootstrap-tagsinputs --> <script src="/assets/js/plugins/bootstrap-tagsinput.js"></script> <!--Plugin for Fileupload, full documentation here: http://www.jasny.net/bootstrap/javascript/#fileinput --> <script src="/assets/js/plugins/jasny-bootstrap.min.js"></script> <!--Full Calendar Plugin, full documentation here: https://github.com/fullcalendar/fullcalendar --> <script src="/assets/js/plugins/fullcalendar.min.js"></script> <!--Vector Map plugin, full documentation here: http://jvectormap.com/documentation/ --> <script src="/assets/js/plugins/jquery-jvectormap.js"></script> <!--Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ --> <script src="/assets/js/plugins/nouislider.min.js" ></script> <!--Include a polyfill for ES6 Promises (optional) for IE11, UC Browser and Android browser support SweetAlert --> <script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js"></script> <!--Library for adding dinamically elements --> <script src="/assets/js/plugins/arrive.min.js"></script> <!--Google Maps Plugin --> <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY_HERE"></script> <!--Chartist JS --> <script src="/assets/js/plugins/chartist.min.js"></script> <!--Notifications Plugin --> <script src="/assets/js/plugins/bootstrap-notify.js"></script> <!--Control Center for Material Dashboard: parallax effects, scripts for the example pages etc --> <script src="/assets/js/material-dashboard.min.js?v=2.1.2" type="text/javascript"></script> <!--datarange--> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
最適解はわからないのですが、
require_tree .
が上手く機能すれば上記のapplivcation.html.erbに記述したscriptらは不要になってくると思います。
できればこの方法を採用したいのですがどのようにしてjs以下のファイルを読み込んでいくかご教示いただければと思います。
何卒宜しくお願い致します。
あなたの回答
tips
プレビュー