4

在启用 rack-pjax 的 Rails 3.2 应用程序中出现以下问题:

  1. 您单击一个链接,其中包含数据表的页面通过 pjax 加载。一切安好。
  2. 您单击页面“无论”加载的antoher链接。
  3. 您点击数据表页面加载的后退按钮。但是数据表不起作用。

有时它会加载 2 个表(其中没有数据),有时它只加载旧的数据表。但它不可能操纵数据(搜索,转到第 2 页等)。它完全是静态的。

表的数据通过应用程序的 rails 部分的 json(服务器端处理)提供。我们已经尝试在“pjax:start”或“pjax:end”上销毁和重建数据表

感谢您的帮助 :)

4

1 回答 1

3

我找到了一个可行的解决方案,希望没有不可预见的问题。

$(document).ready ->
  initLeagueIndexDataTable()

$(document).on 'pjax:end', ->
  initLeagueIndexDataTable()

initLeagueIndexDataTable : ->
  if ($('#league_index').length > 0 && !$('#league_index_wrapper').length > 0)
    $('#league_index').dataTable({
      'sPaginationType': 'full_numbers',
      'bJQueryUI': true,
      'bProcessing': true,
      'bServerSide': true,
      'sAjaxSource': $('#league_index').data('source'),
      'aoColumnDefs': [
        { "bSortable": false, "aTargets": [ 1 ] },
        { "bSortable": false, "aTargets": [ 2 ] },
        { "bSortable": false, "aTargets": [ 3 ] },
        { "bSortable": false, "aTargets": [ 4 ] },
        { "bSortable": false, "aTargets": [ 5 ] }
      ],
      'bFilter': false,
      'iDisplayLength': 25,
      'bDestroy': true
    })
于 2013-02-27T18:05:16.227 回答