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

时间:2018-06-12 14:05:19

标签: datatables ruby-on-rails-5.2

我在Rails 5.2,MacOS 10.13.4,ruby 2.3.7p456上。我正在关注this guide以实现jquery数据表。在开发和生产中,表加载时没有数据表格式,但在刷新后,表格与数据表格式完美地显示。我正在使用CDN进行安装。

以下是有关初始负荷的截图:

enter image description here

然后刷新:

enter image description here

我的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移动到show页面,删除了load jquery脚本,并在load jquery脚本中使用了不同版本的jquery。我试过Chrome版本67.0.3396.79和Safari版本11.1。所有这些都没有改变。

有没有人碰到这个?我看到this question:并尝试将gem 'jquery-turbolinks'添加到gemfile并将//= require jquery.turbolinks添加到a​​pplication.js,并在捆绑安装并重新启动服务器后仍然没有更改。

2 个答案:

答案 0 :(得分:1)

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

在某些时候,$(document).ready调用已被涡轮链接折旧,请尝试:

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

答案 1 :(得分:0)

我从我的应用程序中完全删除了涡轮链接,以便使数据表正常运行。