だから私はかなり長い間Railsを使用しています。しかしRails 6を使用すると、実際に移動するのに苦労しています。私が使用するいくつかのカスタム宝石がありますアセットともの、そして私はjsファイルをロードする方法を理解できません。
私が慣れていること
application.js
//= require activestorage
//= require jquery-3.3.1.min
//= require popper.min
//= require bootstrap
//= require mdb
//= require wysiwyg
//= require addons/pickr.min
//= require modules/buttons
//= require modules/cards
//= require modules/waves
//= require activestorage
//= require turbolinks
//= require_tree .
しかし、これはRails 6に読み込まれません。ソリューションにパッチを適用するためにアプリに複数のjsファイルとコード行をアプリに追加することを含まない、このための基本的なソリューションをオンラインで見つけることができませんでした。一緒にやってみました
app/javascript/packs/application.js
require("@Rails/ujs").start()
require("turbolinks").start()
require ("jquery-3.3.1.min").start()
require ("popper.min").start()
require ("bootstrap").start()
require ("mdb").start()
require ("wysiwyg").start()
require ("addons/pickr.min").start()
require ("modules/buttons").start()
require ("modules/cards").start()
require ("modules/waves").start()
require("@Rails/activestorage").start()
require("channels")
アセットはgem内の正しい場所にあります(つまり、Rails 5アプリはすべてを期待どおりにロードします)。これらのいくつかを糸で追加できますが、使用したいですbootstrapが機能するだけでなく、gemからの実際のファイルもこれに簡単な解決策はありますか?require
のパスを調整してみましたが、どちらも機能しませんでした。
助けてくれてありがとう!
Gemファイルから直接取得する必要があります。
application.js
からapplication.js.erb
およびdemirソリューションに従います。 nextを使用して複数のファイルをインポートすることもできます。
<% ['file_1', 'file_2'].each do |file| %>
import "<%= File.join(Gem.loaded_specs['my_gem'].full_gem_path, 'app', 'assets', 'javascripts', file) %>";
<% end %>