Rails 4 + 数据表:数据表未正确加载

Posted

技术标签:

【中文标题】Rails 4 + 数据表:数据表未正确加载【英文标题】:Rails 4 + datatables: Datatable not loading properly 【发布时间】:2016-09-12 17:09:34 【问题描述】:

我的html.erb 视图中有一个表,它使用引导导航选项卡,并通过部分和嵌入式 Ruby 填充,并且由于某种原因,Datatables 无法正确加载表。

jquery

$(document).ready(function () 

  console.log("foo");

  $("#datatable-weighin").DataTable();

  $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) 
    console.log("bar");
  );
);

当它应该输出foobar 时,这表明一切都正确加载,但我的表看起来仍然与调用$("#datatable-weighin").DataTable(); 之前没有什么不同。

我使用局部变量并从控制器加载变量这一事实是否与此有关?我看到nav-tabs 发布了一些数据表,因为表是隐藏的,但这只会影响列大小等,而不仅仅是一般加载。

【问题讨论】:

您是在使用 datatable-rails gem 还是手动安装?确保您已正确包含数据表 js 和 css 文件。 能连接到turbolinks吗? 您也可以显示您的 HTML 表格吗? 取决于您加载脚本的方式和位置。不妨试试$(document).on('page: load', function() @Rudzainy 我没有运气就做到了 【参考方案1】:

在仔细查看我的代码后,我意识到当我使用 $("#datatable-weighin") 查询表时,尽管 id 是表的一部分,但实际上并没有返回表:

<table class="profile-table-table" id="weigh-in datatable-weighin"></table>

然后我将其更改为<table class="profile-table-table special" id="weigh-in"></table>

...当我查询 $("table.special") 时,它返回了表格并且数据表开始工作

【讨论】:

以上是关于Rails 4 + 数据表:数据表未正确加载的主要内容,如果未能解决你的问题,请参考以下文章

Rails.ajax 数据未传递给控制器

Rails 4.1.4 在推送到 Heroku 时尝试连接到未初始化的 Mongo 数据库(rake assets:precompile)

ImageNet 数据集图像未正确加载

Rails 4 Turbo-links Coffee脚本未加载[重复]

Rails 4图像未在heroku上加载

CKEDITOR mathjax公式在jquery中未正确加载