Help us understand the problem. What is going on with this article?

Rails 4 で turbolinks をオフにする方法

More than 5 years have passed since last update.

turbolinks について

Rails 4 から turbolinks という機能がデフォルトで bundle されるようになった。
http://kray.jp/blog/must-know-about-turbolinks/
ページ遷移をすべて ajax でやってくれるが、割りとおせっかい機能。
しかも jQuery と競合するから jquery-turbolinks を gem で入れることで回避するとかやめてほしい。
こういう機能はぜひともプラグインで提供していただきたい。

turbolinks を切る

さっそく turbolinks をオフにする。

Rails project 新規作成

turbolinks が bundler で最初に install されてしまうので、一旦 --skip-bundle をつけて skip

Zsh
% rails new turbolinks_off --skip-bundle
% cd turbolinks_off

Gemfile から turbolinks を外す

Gemfile の turbolinks 行を comment out する。

Gemfile
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# gem 'turbolinks'

application.html.erb から turbolinks を削除する

削除前

application.html.erb
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>

削除後

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

application.js から turbolinks を削除する

application.js のみを script タグで読んだはずが、 asset pipeline で turbolinks が呼ばれるようになっているので削除する。

app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks <- 削除
//= require_tree .

bundle install

準備が整ったので bundle install

Zsh
% bundle install

turbolinks 削除完了

これで無事 turbolinks を削除できた :)
既存のプロジェクトでも同じ場所を削除・編集して bundle install すれば削除できるはず。

kazz187
http://animetick.net Animetick というサービスを作ってます。アニメの視聴状況を管理できます。
http://animetick.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away