如何禁用Rails 5中的turbolinks?

问题描述:

在处理websocket时,这是一个头痛的问题,除了增加bug之外,它还会导致我的性能下降。由于ActionCable是我升级的全部原因,我非常想完全摆脱它。如何禁用Rails 5中的turbolinks?

+0

跨页面元素缓存一直是我最头痛的问题。 –

here基本上笔直。这是Rails 4,但我相信步骤是一样的。

1)从您的Gemfile中删除gem 'turbolinks'行。

2)从您的app/assets/javascripts/application.js中删除//= require turbolinks

3)从app/views/layouts/application.html.erb中删除两个"data-turbolinks-track" => true哈希键/值对。

编辑:至少Rails 5.0.0最后一步应该参考"data-turbolinks-track" => "reload"而不是"data-turbolinks-track" => true由于@boddhisattva

编辑:至少Rails的4.2,你才能不用turbolinks开始一个项目。只要使用这样的事情:

rails new my_app --skip-turbolinks

+0

我试图在Rails 5应用程序中最近删除turbolinks(准确地说使用Rails 5.0.0.1),我不得不删除'data-turbolinks-track' :'reload''作为步骤3的一部分,而不是''data-turbolinks-track“=> true'。我还看到他们已经指定了相同的键值对 - '“data-turbolinks-track”=>“reload”'作为Rails 5的最新资产管道指南的一部分 - http://guides.rubyonrails.org /asset_pipeline.html#coding-links-to-assets – boddhisattva

+0

重要提示:应该有一个步骤4) - 取代刚刚移除的'data-turbolinks-track'链接,添加第一个框中的第一个链接: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets。简单地删除turbolink链接会导致javascript完全停止工作。 –

+0

在部署到Heroku生产服务器时,这并不适合我。 – s2t2

app/assets/javascripts/application.js中删除//= require turbolinks似乎已经成功了。

我也app/views/layouts/application.html.erb同时取出turbolinks引用

+1

删除/注释'require'是禁用TurboLink而不卸载它的最简单方法。这里有一种方法来'评论'它:'// = xxxrequire turbolinks' – Chloe

完全从application.html.erb取出turbolinks标签可能会破坏CSS和JS。如果没有加载CSS或JS,请添加以下代码而不是turbolinks:

<%= stylesheet_link_tag "application", media: "all" %> 
<%= javascript_include_tag "application" %>