我有一个 .js
文件,名为:
app/assets/javascripts/generics/directory/edit_person.js
它没有包含在 application.js
中,因为没有\require_tree
并查看浏览器中的网络选项卡,我已经确认了 edit_person.js
由其自身提供服务。
正在渲染的erb
被命名为:
app/views/company_area/directory/edit_person.html.erb
我在这里没有看到任何引用 edit_person.js
的脚本标记,Rails 是否有什么魔力?
最佳答案
您必须向我们展示相关代码。
Rails 应用程序通常会在以下三种情况之一中提供 JS 服务:
- 您的 html 中指定了 JS 文件。这包括布局文件中的 application.js。
- 已发出 JS 请求,并且您正在响应该 JS。示例:JS 文件 edit_person.js 存在于与 Controller 操作
edit_person
对应的 View 文件夹中,并且客户端向该操作发出 .js 请求 - Webpacker 配置为与资源管道一起处理 JS。 [1]
如果这些都不适合您,那么您将不会在页面上看到 JS 加载。知道这一点后,您需要检查布局、application.js 和 Controller 操作(响应)。
[1] Webpacker 不太可能提供这些文件,因为它们位于您的目录中,但为了准确性起见,值得注意。
关于javascript - Rails Magic 如何将正确的 js 文件连接到正确的 .html.erb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268097/