首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在`sorttable.js`上使用涡轮码在Rails4上启用

如何在`sorttable.js`上使用涡轮码在Rails4上启用
EN

Stack Overflow用户
提问于 2015-05-14 16:06:55
回答 1查看 459关注 0票数 1
  • Rails 4.2.0,turbolinks (2.5.3)
  • (4.0.3),jquery rails (5.0.3)
  • sorttable.js
  • 用于Chrome、Firefox和IE的应用程序

应该发生什么:无论是重定向、呈现还是单击应用程序中的新页面,任何带有类sorttable的表(我在原始JS中编辑过)都应该按列标题排序。

到底发生了什么,:我在联系人页面上。我点击了刷新,JS中的记录器语句就会出现。这个插件就像预期的那样工作。如果我导航到Home,然后返回到联系人,该文件仍将在页面源中列出,但不会出现任何记录器语句。这个插件不工作。

我们的application.js是这样的:

代码语言:javascript
复制
//= 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 (就像一个单元格中的两个属性).

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-28 13:06:23

经过大量的调试,我明白了为什么turbolinks不喜欢sorttable.js。JS文件包括触发器(一些基于浏览器类型),用于在加载文档时启动可排序。这样的事件侦听器与turbolinks不兼容。我为完成这项工作所做的工作如下。

  1. vendor/assets/javascripts/sorttable.js移动到app/views/shared/js/_sorttable.html.haml
  2. :javascript (%script{languauge: "javascript"})作为新文件的前缀,并缩进以下所有第2行空格
  3. application.js中删除可排序
  4. 在所有相关页面的顶部,添加以下代码块: =呈现'shared/js/sorttable‘%script $(Document).on(“页面:更改”,sorttable.init)

有关代码示例和进一步说明,请参见这个要旨

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30242006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档