繁体   English   中英

Rails 7 导入地图 - 如何将脚本注入 HTML 模板?

[英]Rails 7 Import Maps - How do I inject a script into HTML template?

在带有 webpacker 的 rails 6 中,您可以在视图或模板中添加<%= javascript_pack_tag 'alerts' %>以注入一些 js。

这如何与导入地图和 Rails 7 一起使用?

只要代码在 import map 中正确,就可以引用它:

<script type="module">import "/assets/custom/alerts.js";</script>

假设文件是app/javascript/custom/alerts.js

config/importmap.rb中引用为:

pin_all_from "app/javascript/custom", under: "custom"

并导入到 application.js 中:

import "custom/alerts"

编辑:我现在认为这是 Rails 7 中的反模式。使用 Stimulus 控制器非常容易。

刺激手册供参考

例如,当用户单击“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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM