Jquery 为什么';javascript_-pack_-tag';仅适用于';车身';而不是html';头部';(Rails 6和网页包)

Jquery 为什么';javascript_-pack_-tag';仅适用于';车身';而不是html';头部';(Rails 6和网页包),jquery,ruby-on-rails,ruby,webpack,turbolinks,Jquery,Ruby On Rails,Ruby,Webpack,Turbolinks,在我的rails 6应用程序中,我的jquery只在html“body”中包含而不是“head”时才起作用。我想知道为什么会这样,我需要做些什么来解决它。这是我的application.html.erb <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial

在我的rails 6应用程序中,我的jquery只在html“body”中包含
而不是“head”时才起作用。我想知道为什么会这样,我需要做些什么来解决它。这是我的application.html.erb

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>TumaJobs</title>
    <%= csrf_meta_tags %>
    <%= action_cable_meta_tag %>
    <%= stylesheet_link_tag 'application', media: 'all' %>
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>
  <body>
    <%= render 'shared/navbar' %>
    <%= render 'shared/flashes' %>
    <table class="layout-table">
      <tr class="layout-content-row">
        <td class="layout-content-column">
          <%= yield %>
        </td>
      </tr>
      <tr>
        <td>
          <%= render 'shared/footer' %>
        </td>
      </tr>
    </table>
  </body>
</html>
在search.js中,我有这个jquery代码

  $(".jobs_search input").keyup(function() {
    $.get($(".jobs_search").attr("action"), $(".jobs_search").serialize(), null, "script");
    return false;
  });
试试这个

头部带有
javascript\u pack\u标记

$(document).on('turbolinks:load', function(){
  $(".jobs_search input").keyup(function() {
    $.get($(".jobs_search").attr("action"), $(".jobs_search").serialize(), null, "script");
    return false;
  });
})

很有效,谢谢。如果你不介意的话,你能简单地解释一下为什么它现在起作用吗?
$(document).on('turbolinks:load', function(){
  $(".jobs_search input").keyup(function() {
    $.get($(".jobs_search").attr("action"), $(".jobs_search").serialize(), null, "script");
    return false;
  });
})