255
264

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2013-05-14

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

255
264
2

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
  3. You can use dark theme
What you can do with signing up
255
264

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?