Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RubyonRails的数据表_Javascript_Jquery_Html_Ruby On Rails - Fatal编程技术网

Javascript RubyonRails的数据表

Javascript RubyonRails的数据表,javascript,jquery,html,ruby-on-rails,Javascript,Jquery,Html,Ruby On Rails,我在网站上使用RubyonRails 5.0框架实现的数据表(一个包含搜索、排序和分页的表)有问题。我添加了这个jQuery代码(下面的代码):在我的一个.js文件中,我遵循了rails cast(第340集)的所有步骤。在我刷新我的网页后,实现工作正常。需要帮助——我正在试图弄清楚为什么我需要不断刷新以便我的表显示数据表的所有特性 jQuery -> $('#reviews').dataTable() 因此,这似乎指向了一个turbolink问题,当turbolinks真的弄乱了加

我在网站上使用RubyonRails 5.0框架实现的数据表(一个包含搜索、排序和分页的表)有问题。我添加了这个jQuery代码(下面的代码):在我的一个.js文件中,我遵循了rails cast(第340集)的所有步骤。在我刷新我的网页后,实现工作正常。需要帮助——我正在试图弄清楚为什么我需要不断刷新以便我的表显示数据表的所有特性

jQuery ->
  $('#reviews').dataTable()

因此,这似乎指向了一个turbolink问题,当turbolinks真的弄乱了加载的javascript/jquery组件时,turbolinks认为它在帮助解决这个问题。如何处理这一问题,是将代码
数据:{no_turbolink:true}
添加到将您带到该页面的链接末尾。下面我举了一个我过去工作过的项目的例子

    <li><%= link_to 'Schedule', schedule_path(@schedule), data: { no_turbolink: true }, class: 'sub_link' %></li>

  • 如果您正在研究如何进行分页和排序,我建议您查看ransack,并将进行分页学习

    我支持Tall Paul的观点,即这可能是一个turbolinks问题

    他的解决方案的另一种选择是让javascript/jQuery代码侦听
    turbolinks:load
    事件,而不是
    ready
    事件(这通常是每个人都会做的)

    大概是这样的:

    $( document ).on('turbolinks:load', function() {
      <Your javascript here>
    })
    
    进一步阅读

    $(document).on 'turbolinks:load', ->
      $('#reviews').dataTable()