3
0

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 3 years have passed since last update.

Turbolinksについて

Posted at

背景

Turbolinksが原因でエラーが起きることが数回あったため、どういったものなのかを調べて自分なりにまとめました。備忘録として使います。

Turbolinksとは

Turbolinksは Asset Pipeline を活用しているアプリケーションにおいて画面遷移を高速化するライブラリ。

特徴

・ デフォルトで(プロジェクト生成時点で)有効になっている。
・ Turbolinks を導入すると Javascript のイベント発生タイミングが異なる。
・turbolinksでページをロードすると、jQueryのreadyイベントとDOMContentLoadedベントが発火しない。
代わりにいくつかイベントが用意されている。

page:fetch ページ読み込み開始
page:receive ページ読み込み完了(parse前)
page:change ページ更新完了
page:load 全ての処理終了

・aタグのリンクをクリックした時の遷移をajax化して画面遷移なしにページ遷移する。
・clickイベントの挙動を変えている
・・・etc

たくさんの特徴を持っており便利な部分があるがその反面使うのはしっかり理解していないと難しそう。。

Turbolinksを無効化する方法

もしもどうしても挙動がおかしくなる、turbolinksを消すとうまくいくといった場合は無効化してみましょう。

1.Gemfile から「gem ’turbolinks’」を削除する。


gem turbolinks # この行を削除する

2.app/assets/javascripts/application.js から「//= require turbolinks」を削除する。

application.js
//= require turbolinks  //この行を削除する

3.app/views/layouts/application.html.erb の javascript_include_tag や stylesheet_link_tag から「"data-turbolinks-track" => true」を削除する。

参考

6.Turbolinks
https://www.techscore.com/tech/Ruby/rails-4.0/turbolinks/

Rails 4のturbolinksについて最低でも知っておきたい事
https://kray.jp/blog/must-know-about-turbolinks/

Turbolinksを調べてみた
https://gist.github.com/saboyutaka/8727377

3
0
0

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?