Этот совет предполагает, что у вас есть папка node_modules
в корне вашего приложения rails.
Если вы установили toastr с помощью команды ...
yarn add toastr
Тогда пряжа автоматически сгенерирует папку node_modules в корне вашего приложения. Эта папка создается при первом добавлении зависимости с помощью yarn add
.
Возможно, у вас уже есть эта папка node_modules
, и вы просто не можете ее увидеть. Это связано с тем, что по умолчанию rails добавляет эту папку в .gitignore
, что делает ее невидимой в некоторых файловых системах.
Вы можете проверить, есть ли у вас папка node_modules
, временно удалив строку node_modules
внутри файла .gitignore
, а затем обновив дерево файлов.
В этот момент вы сможете увидеть папку node_modules
. Добавьте node_modules
обратно к вашему .gitignore
после того, как вы подтвердите, что эта папка существует в вашем проекте.
Как только это будет сделано, откройте файл config/initializers/assets.rb
и добавьте следующие строки
Rails.application.config.assets.paths << Rails.root.join('node_modules')
Rails.application.config.assets.precompile += ['node_modules/toastr/build/toastr.min.js']
Rails.application.config.assets.precompile += ['node_modules/toastr/build/toastr.min.css']
Затем добавьте следующую инструкцию require в файл application.js
//= require toastr/build/toastr.min
И если вы используете расширения .scss
в своих файлах css, то вам нужно добавить следующее в application.scss
файл
@import 'toastr/build/toastr.min';
Это работает в моей среде.
Обратите внимание, что toastr требует, чтобы jquery был загружен до его загрузки.
Таким образом, вы должны убедиться, что вы включили скрипт jquery перед тегом <%= javascript_include_tag 'application' %>
в макете application.html.erb.