如何在 Rails 6 中禁用 TurboLinks?

HCK*_*MVT 5 javascript ruby-on-rails turbolinks disable

所以我面临这个问题,我的服务器确实从客户端的请求中检索了正确的数据,将这些数据发送到浏览器,在那里我可以清楚地看到它可用于浏览器(CTRL + SHIFT + C > 网络 > my_request)。但是,浏览器不会刷新。所以我现在看到的是上一页的数据。搜索了一下之后,我确定它是由 TurboLinks 引起的,然后我尝试禁用这里这里。然而浏览器仍然不会刷新并显示新获取的数据。我做的最后一件事是grep -r turbolink *在我的项目目录中,它给了我以下内容:

app/views/layouts/_dashboard_menu_certified.html.erb:          <%= submit_tag("Apply", {'data-turbolinks': false}) %>
log/development.log:    21:     <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
node_modules/@rails/webpacker/README.md:<%= javascript_packs_with_chunks_tag 'calendar', 'map', 'data-turbolinks-track': 'reload' %>
node_modules/@rails/webpacker/README.md:<script src="/packs/vendor-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/README.md:<script src="/packs/calendar~runtime-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/README.md:<script src="/packs/calendar-1016838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/README.md:<script src="/packs/map~runtime-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/README.md:<script src="/packs/map-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/CHANGELOG.md:<%= stylesheet_packs_with_chunks_tag 'calendar', 'map', 'data-turbolinks-track': 'reload' %>
node_modules/@rails/webpacker/CHANGELOG.md:<%= javascript_packs_with_chunks_tag 'calendar', 'map', 'data-turbolinks-track': 'reload' %>
node_modules/@rails/webpacker/CHANGELOG.md:<script src="/packs/vendor-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/CHANGELOG.md:<script src="/packs/calendar~runtime-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/CHANGELOG.md:<script src="/packs/calendar-1016838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/CHANGELOG.md:<script src="/packs/map~runtime-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
node_modules/@rails/webpacker/CHANGELOG.md:<script src="/packs/map-16838bab065ae1e314.js" data-turbolinks-track="reload"></script>
Run Code Online (Sandbox Code Playgroud)

有什么我错过了吗?干杯。

编辑:

<div class="col-sm-6 card">
      <% @res.each do |tool, histories| %>
        <div class="chart">
          <div class="card-header">
            <div class="nav nav-pills card-header-pills">
              <%= tool %>
            </div>
          </div>
          <div class="card-body">
            <div id="<%= tool %>" class=""></div>
            <script>
              new Morris.Line({
              element: "<%= tool %>",
              data: [
                <% histories.each do |history| %>
                  { date: '<%= history.date %>', value: <%= history.uptodate %>, value2: <%= history.outdated %>, value3: <%= history.error %>},
                <% end %>
              ],
              xkey: 'date',
              ykeys: ['value', 'value2', 'value3'],
              labels: ['UpToDate', 'OutDated', 'Error']
              })
            </script>
          </div>
        </div>
      <% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

Lui*_*z-R 14

  1. 删除gem 'turbolinks', '~> 5'Gemfile
  2. 删除//= require turbolinksapp/assets/javascript/application.js
  3. 移除, 'data-turbolinks-track': 'reload'(x2)app/views/layouts/application.html.erb
  4. yarn remove turbolinks
  5. rails tmp:cache:clear

第 4 步是与 Rails 5 的主要区别。

  • 或者使用 webpacker,在 `app/javascript/packs/application.js` 中注释掉 `require("turbolinks").start()` (5认同)
  • 只是提醒您之后运行“bundle install”,以便更新任何“Gemfile.lock”或类似内容 (2认同)