0

我在 Rails 5.2、MacOS 10.13.4、ruby 2.3.7p456 上。我正在遵循本指南来实现 jquery 数据表。在开发和生产中,表格在没有数据表格式的情况下加载,但在浏览器刷新后,表格以数据表格式完美显示。我正在使用 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 中,表格有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 脚本,并在加载 jquery 脚本中使用不同版本的 jquery。我试过 Chrome 版本 67.0.3396.79 和 Safari 版本 11.1。所有这些都没有改变。

有没有人遇到过这个?我看到了这个问题:并尝试添加gem 'jquery-turbolinks'到gemfile并添加//= require jquery.turbolinks到application.js,并且在捆绑安装并重新启动服务器之后,仍然没有任何变化。

4

2 回答 2

1

从这里的答案中对此作出回应 - Rails 5: how to use $(document).ready() with turbo-links

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

$( document ).on('turbolinks:load', function() {
  console.log("It works on each visit!")
})
于 2018-11-11T15:32:54.620 回答
0

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

于 2018-09-04T02:39:11.183 回答