Это постоянная головная боль при работе с websockets, и она убивает мою производительность в дополнение к добавлению ошибок. Поскольку ActionCable - это вся причина, по которой я обновился, мне очень хотелось бы полностью избавиться от нее.
Как отключить turbolinks в Rails 5?
Ответ 1
В принципе прямо из здесь. Это для Rails 4, но я считаю, что шаги одинаковы.
1) Удалите строку gem 'turbolinks'
из вашего Gemfile.
2) Удалите //= require turbolinks
из вашего приложения/активов/javascripts/application.js.
3) Удалите две пары "data-turbolinks-track" => true
хеш-ключ/значение из вашего приложения /views/layouts/application.html.erb.
Изменить: по крайней мере, Rails 5.0.0 последний шаг должен ссылаться на "data-turbolinks-track" => "reload"
, а не на "data-turbolinks-track" => true
. Благодаря @boddhisattva
Изменить: По крайней мере, Rails 4.2 вы можете сгенерировать проект без турбонаука. Просто используйте что-то вроде этого:
rails new my_app --skip-turbolinks
Ответ 2
Удаление //= require turbolinks
из app/assets/javascripts/application.js
похоже на трюк.
Я также удалил обе ссылки на turbolinks в app/views/layouts/application.html.erb
Ответ 3
Полностью удалив теги turbolinks из приложения. html.erb может сломать CSS и JS. добавьте эти строки вместо turbolinks, если загрузка CSS или JS не выполняется:
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
Ответ 4
вы также можете сделать это при создании приложения rails с помощью;
rails new app name --skip-turbolinks