sorttable.js应该发生什么:无论是重定向、呈现还是单击应用程序中的新页面,任何带有类sorttable的表(我在原始JS中编辑过)都应该按列标题排序。
到底发生了什么,:我在联系人页面上。我点击了刷新,JS中的记录器语句就会出现。这个插件就像预期的那样工作。如果我导航到Home,然后返回到联系人,该文件仍将在页面源中列出,但不会出现任何记录器语句。这个插件不工作。
我们的application.js是这样的:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require jquery_nested_form
//= require bootstrap
//= require sorttable
//= require_directory .
//= require autocomplete-rails
//= require turbolinks
//= require bootstrap-switch每页禁用Turbolinks或完全不是我们的解决方案。如果文件不适用于turbolinks,我愿意使用gems;然而,gem应该向应用程序添加很少的代码。我们不希望有专门用于选择要排序的列的类。另外,一些要排序的列不是来自ActiveRecord (就像一个单元格中的两个属性).
发布于 2015-05-28 13:06:23
经过大量的调试,我明白了为什么turbolinks不喜欢sorttable.js。JS文件包括触发器(一些基于浏览器类型),用于在加载文档时启动可排序。这样的事件侦听器与turbolinks不兼容。我为完成这项工作所做的工作如下。
vendor/assets/javascripts/sorttable.js移动到app/views/shared/js/_sorttable.html.haml:javascript (%script{languauge: "javascript"})作为新文件的前缀,并缩进以下所有第2行空格application.js中删除可排序有关代码示例和进一步说明,请参见这个要旨。
https://stackoverflow.com/questions/30242006
复制相似问题