En Rails 6 con webpacker, podría agregar un <%= javascript_pack_tag 'alerts' %> en una vista o plantilla para inyectar algunos js.
¿Cómo funciona esto con mapas de importación y rieles 7?
Siempre que el código esté correctamente en el mapa de importación, puede hacer referencia a él con:
<script type="module">import "/assets/custom/alerts.js";</script> Suponiendo que el archivo es app/javascript/custom/alerts.js
Referenciado en config/importmap.rb como:
pin_all_from "app/javascript/custom", under: "custom"E importado en application.js:
import "custom/alerts"Editar: ahora creo que este es un antipatrón en Rails 7. En su lugar, es muy fácil usar controladores Stimulus.
Manual de Estímulo Para referencia
Por ejemplo, para descartar una alerta cuando un usuario hace clic en la "x"
// app/javascript/alerts_controller.js import { Controller } from "@hotwired/stimulus" export default class extends Controller { dismiss () { this.element.style.display = 'none'; } } <div data-controller="alerts"> <h2> Alert! </h2> <span data-action="click->alerts#dismiss"><i class="fas fa-times"></i></span> </div>