jquery 数据表在浏览器刷新之前未格式化

jquery Datatables not formatted until browser refresh

我在 Rails 5.2、MacOS 10.13.4、ruby 2.3.7p456。我正在关注 this guide 以实施 jquery 数据table。在开发和生产中,tables 加载时没有数据table 格式,但在浏览器刷新后,tables 显示与数据table 格式完美。我正在使用 CDN 安装。

这是初始加载的屏幕截图:

然后刷新后:

我的application.html.erb:

<head>

<%= csrf_meta_tags %>

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>

在我的 html 中 table 有 id = 'search'

search.coffee 文件:

    $(document).ready ->
  $('#search').DataTable()
  return

最后 application.js 文件:

//= require jquery3
//= require popper
//= require bootstrap
//= require rails-ujs
//= require jquery.turbolinks
//= require turbolinks
//= require_tree .

我尝试将 CDN 脚本从 application.html.erb 移动到显示页面,删除加载 jquery 脚本,并在加载 [=52] 中使用不同版本的 jquery =] 脚本。我试过 Chrome 版本 67.0.3396.79 和 Safari 版本 11.1。所有这些都没有改变。

有人 运行 参与其中吗?我看到 this question: 并尝试将 gem 'jquery-turbolinks' 添加到 gemfile 并将 //= require jquery.turbolinks 添加到 application.js,并且在捆绑安装并重新启动服务器后,仍然没有变化。

为了让数据表正常运行,我从我的应用程序中完全删除了 turbolinks。

从这里的答案对此做出回应 -

在某些时候 $(document).ready 调用被 turbolinks 折旧,尝试:

$( document ).on('turbolinks:load', function() {
  console.log("It works on each visit!")
})