Rails Magic如何将正确的js文件连接到右侧.html.erb

问题描述 投票:0回答:2

我有一个名为的.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正在做的魔术?

javascript ruby-on-rails asset-pipeline erb
2个回答
1
投票

您必须向我们展示相关代码。

Rails应用程序通常会在以下三种情况之一中为JS提供服务:

  1. 在您的html中指定了一个JS文件。这包括布局文件中的application.js.
  2. 发出了一个JS请求,你正在响应那个JS。示例:JS文件edit_person.js存在于与控制器操作edit_person对应的views文件夹中,客户端向该操作发出.js请求
  3. Webpacker配置为在资产管道旁边处理JS。 [1]

如果这些都不适用于您,那么您将无法在页面上看到您的JS加载。知道这一点,您需要检查布局,application.js和控制器操作(响应)。

[1] Webpacker可能不会因为它们位于您的目录中而提供这些文件,但为了准确起见,值得注意。


0
投票

这是你写的应用程序吗?如果不是,我会检查任何布局文件(特别是:views / layouts / application.html.erb或views / layouts / persons.html.erb,如果可用)

© www.soinside.com 2019 - 2024. All rights reserved.