Ruby on rails 3.2 PJAX/Back按钮销毁数据表
在启用rack pjax的Rails 3.2应用程序中,出现以下问题:Ruby on rails 3.2 PJAX/Back按钮销毁数据表,ruby-on-rails-3.2,datatables,rack,pjax,Ruby On Rails 3.2,Datatables,Rack,Pjax,在启用rack pjax的Rails 3.2应用程序中,出现以下问题: 单击一个链接,其中包含datatable的页面将通过pjax加载。一切都很好 你点击另一个链接,页面“随便”加载 点击返回按钮,datatables页面将加载。但数据表不起作用 有时它加载2个表(其中没有数据),有时它只加载旧的数据表。但不可能操作数据(搜索、转到第2页等)。它完全是静态的 该表的数据通过json(服务器端处理)从应用程序的rails部分提供。 我们已经尝试在“pjax:start”或“pjax:end”上销
谢谢你的帮助:)我找到了一个可行的解决方案,希望没有意外的问题
$(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
})
尝试运行在
ready
事件上创建表的函数-我的意思是在简单的页面加载上(除了在pjax:start”或“pjax:end
上创建表之外),我也遇到了这种情况。我在document.ready和pjax:end上有我的datatables初始化代码,但我仍然看到了问题。我尝试在pjax:start上移动它,但我不再看到这个问题,而是引入了另一个问题,其中一些数据表根本没有初始化。