Rails 6-在某些控制器操作中需要JS文件

时间:2019-08-29 00:11:10

标签: javascript ruby-on-rails webpack webpacker ruby-on-rails-6

我当前正在尝试使用Rails 6.0.0,它似乎已将默认的/文件夹从let url = 'https://example.com/service_requests/30393/journey'; let arr = url.split('/'); let id = arr[arr.length-2]; console.log(id);移到了javascriptapp/assets/javascript文件现在位于app/javascript中。

现在,我想为每个控制器操作添加JS文件。例如,我有:

  • application.js
  • app/javascript/packs
  • UsersController#index

在某些控制器操作上,我需要添加一些javascript:

  • UsersController#show
  • UsersController#edit
  • app/javascript/user/index.js
  • app/javascript/user/show.js(假设我需要对js进行一些调整)

这是我目前正在做的事情。在控制器视图中:

app/javascript/user/edit.js

但是,在app/javascript/user/form.js中,我无法调用<%= javascript_pack_tag 'user/index', 'data-turbolinks-track': 'reload' %> 中所需的库。例如在application.js中:

index.js

在index.js中,我将引导程序特定的JS称为弹出式,模态……我得到:

application.js

我不想在application.js中编写所有JS,因为每个页面都必须加载整个网站JS,这真是个难题!这就是为什么我想将它们拆分并在需要时包括在内。

此外,为什么我们必须在require("bootstrap/dist/js/bootstrap") 中要求JS文件?如果我们使用Uncaught TypeError: $(...).modal is not a function ,是否需要在application.js中提供这些文件?

这是我刚创建的dummy回购。

参考:here解释了如何要求自定义JS文件。

1 个答案:

答案 0 :(得分:0)

添加到您的 var methods = new List<AuthenticationMethod>(); methods.Add(new PasswordAuthenticationMethod(UserName, Password)); var con = new ConnectionInfo(virtualController, 22, UserName, methods.ToArray()); Console.WriteLine("Attempting Connection with Network..."); var Client = new SshClient(con); Client.Connect(); Console.WriteLine("Successfully Connected."); var cmdRun = Client.RunCommand(showClients); var result = cmdRun.Result; Console.WriteLine(result); cmdRun = Client.RunCommand(showRun); result = cmdRun.Result; Console.WriteLine(result); Client.Disconnect();

application.html.erb