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
% rails new turbolinks_off --skip-bundle
% cd turbolinks_off
Gemfile から turbolinks を外す
Gemfile の turbolinks 行を comment out する。
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# gem 'turbolinks'
application.html.erb から turbolinks を削除する
削除前
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
削除後
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
application.js から turbolinks を削除する
application.js のみを script タグで読んだはずが、 asset pipeline で turbolinks が呼ばれるようになっているので削除する。
//= require jquery
//= require jquery_ujs
//= require turbolinks <- 削除
//= require_tree .
bundle install
準備が整ったので bundle install
% bundle install
turbolinks 削除完了
これで無事 turbolinks を削除できた :)
既存のプロジェクトでも同じ場所を削除・編集して bundle install すれば削除できるはず。