有没有办法绕过写入 data: {turbolinks: false} 无数次? rails 的 turbolinks 值得吗?

Is there a way around writing data: {turbolinks: false} a zillion times? Is turbolinks for rails worth it?

涡轮增压links (5.0.0)
Rails 4.2.2

您的应用 data: {turbolinks: false} 中的每个 link_to 是否有 DRY? 或者这是否违背了 Turbolinks 的目的并建议将其删除?

如果单击 link,我的大量 jquery 脚本将无法正常工作,除非它包含 data: {turbolinks: false },这些脚本将在重新加载页面时正常工作。

我的 jquery 包裹在:$(document).on('turbolinks:load', function () { #something here});

所以,你问的问题是"how to DRY up my endless link annotations?"我会先回答...

是的,如果你 turbolinks: false 一切,那么是的,你应该删除 Turbolinks。不是因为它是 DRY,而是因为你在所有地方都禁用了 Turbolinks 并且还不如删除它。它什么都不做 处理 link-点击。

虽然我可以这么大胆,但我认为你真正的问题是:

"How do I get these cool jQuery plugins to work? I want them, and I never really asked for Turbolinks."

在没有进入特定插件的情况下,它们中的许多都锁定了 jQuery 的 $ 函数,该函数附加到 DOMContentLoaded。 Turbolinks 触发了一个不同的事件(in Turbolinks-Classic this was the page:load event... in Turbolinks 5 it's the turbolinks:load event,该事件没有发出,那些事件处理程序也没有被重置。

关于如何构建 JavaScript 初始值设定项的一个可能答案是 here

我个人一直坚持使用 Turbolinks,最后,我会向您推荐 Nate Berkopec 的文章 100ms to Glass with Rails and Turbolinks。他合理地解释了 Turbolinks 是一件好事的原因。