search
LoginSignup
264

More than 5 years have passed since last update.

posted at

updated at

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

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 すれば削除できるはず。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
264