首页 > 解决方案 > Rails 加载 js 不一致

问题描述

很常见的问题:由于 turbolinks,rails 加载 js 和 jQuery 非常不一致。不幸的是,像这样的东西$(document).on("turbolinks:load", function () { code });并没有解决一致性问题。

例如:如果我使用 rails slick slider 之类的咖啡脚本运行的东西一切正常,我在资产树中获得的自定义 js 无法始终加载。重新加载页面时,js 就在那里,通过 turbolinks 导航有时会使脚本消失/不加载。

自从我的 Rails 职业生涯开始以来,我就遇到了这个问题,但无法解决。即使像这样的东西<meta name="turbolinks-cache-control" content="no-cache">也没有影响。如何让我的脚本加载 100% 一致?

我已经尝试$(document).on("turbolinks:load", function () { code });<meta name="turbolinks-cache-control" content="no-cache">

我能做些什么?

标签: javascriptjqueryruby-on-railsturbolinks

解决方案


如果您愿意删除 turbolink 来解决此问题,您可以这样做;

application.js中删除//= require turbolinks

Gemfile中删除gem 'turbolinks', '~> 5'

在 application.html.erb 中'data-turbolinks-track': 'reload'从 thestylesheet_link_tag和 the中删除javascript_include_tag

我遇到了同样的问题,我发现删除 turbolinks 是唯一的解决方案。


推荐阅读