Railsにおけるturbolinksの無効化の手順

こんにちは!kossyです!




本日気になったニュースはこちら
aws.amazon.com

AWSで提供されているDynamoDBにトランザクション機能が追加されるそうです。
が、当方インフラ面には疎いので、何がすごいのかわかりません、、、
他の方の意見を引用すると、


今まで、DynamoDBとRDBMSの違いを説明するときは、トランザクション対応しているかどうかと発言していましたが、
だんだん優劣の説明が難しくなってきましたw。特に最近の立て続けのアップデートはかなり強力でした。
ネイティブでの暗号化、ポイントインタイムリカバリ対応、トリガー、グローバルテーブル、
KMS対応、ローカルテスト、アクセラレータ、そして、今回のトランザクション対応によって、
多くのデータベースの移行先や、新規サービスのデータベース基盤として、DynamoDBを検討できるのではないでしょうか。
とくに、サーバーレスとかIoTのバックエンドとしてDynamoDBは無くてはならない存在です。
今後の更なる進化にも期待したいですね。

出典: DynamoDBのトランザクションについてFAQ形式で答えてみる #reinvent | DevelopersIO

とのことでした。
トランザクションに対応したことで、DynamoDB一択、ということになっていくのでしょうか。










さて、今回はRailsで標準で組み込まれている、
turbolinksを無効化する手順について、ブログに残してみたいと思います。




そもそもturbolinksってなにしてくれてるの?

Turbolinksはリンクを生成する要素であるa要素のクリックをフックにして、
移動した先のページをAjaxで取得します。

その後、取得ページのデータが遷移前のページと同じものがあれば再利用し、
title・body要素を置き換えて表示します。
データを再利用するので、アプリケーションの速度向上などのパフォーマンスの向上を
させることができます。

Railsと一緒に使われるイメージがあるTurbolinksですが、
iOSやAndoroid環境でも使用することができます。
github.com




本題

回り道をしてしまいましたが、これからTurbolinksの無効化手順を説明します。


まずはGemfileからTurbolinksを削除します。

gem 'turbolinks', '~> 5'  # この行を削除

bundle updateします。

$ bundle update

次に、application.jsのTurbolinksをrequireしている部分を削除します。

//= require turbolinks  # この行を削除

そして、レイアウトファイルでTurbolinksを読み込んでいる部分を削除します。

# この2行を削除

= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'

これでTurbolinksを削除できます。