为什么 "javascript_pack_tag "只能在 "body "中使用,而不能在html "head "中使用(Rails 6和webpack)?

在我的rails 6应用程序中,我的jquery只有当我包含了 <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> 而不是 “头”。我想知道为什么会出现这种情况,我需要做什么来解决这个问题。这是我的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>

在我的application.js中,我有

require("bootstrap/dist/js/bootstrap")
require("jquery")
window.jQuery = $;
window.$ = $;

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")

require("../search")

require("trix")
require("@rails/actiontext")

在search.js中,我有这样的jquery代码。

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

解决方案:

试试这个

随着 javascript_pack_tag 头里

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

给TA打赏
共{{data.count}}人
人已打赏
未分类

在gglot2中使用SVG图像作为符号。

2022-9-9 5:30:20

未分类

将坐标转换为WGS84

2022-9-9 5:30:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索