Rails 数据表重复控件

Posted

技术标签:

【中文标题】Rails 数据表重复控件【英文标题】:Rails datatables duplicate controls 【发布时间】:2019-11-07 19:13:55 【问题描述】:

我正在使用带有 rails 5.2 的数据表。一切正常,但是当我单击返回时,它会加载表格,但会在页面上放置两组控件。

我假设它与 tubolink 有关,但我无法弄清楚如何阻止它。

datatables.js

$(document).on('turbolinks:load', function() 
  $('.datatables-demo').dataTable();
);

表格标签:

<table class="datatables-demo table table-striped table-bordered" data-turbolinks="false">

对我能做什么有什么想法或建议吗?

【问题讨论】:

【参考方案1】:

turbolinks:before-cache时必须销毁数据表

$(document).on('turbolinks:before-cache', function() 
 $('.datatables-demo').datatable().clear().destroy();
);

【讨论】:

谢谢。我应该在哪里运行/放置它?在同一个 datatables.js 文件中?把它放在原来的之前还是直接替换它?到目前为止,我尝试的方法似乎并不奏效。 其实我需要大写Datatables。所以现在 clear() 和 destroy() 似乎正在工作。它不会呈现重复值,但不会再次加载数据。对此有什么想法吗? 你在用DataTable()吗?

以上是关于Rails 数据表重复控件的主要内容,如果未能解决你的问题,请参考以下文章

防止我们的 Rails 应用程序中的重复数据库插入/更新同时发生事务

添加设计生成的用户表时,Rails 数据库迁移失败并出现“重复的列名:电子邮件”

Ruby/Rails - 正确显示/格式化文本区域表单控件中的文本

日历中的重复事件 - Rails

删除视图 Rails 中的重复项

Rails 4:可用数据类型列表