Rails6で画面遷移時に画面が正常に表示されない

rails6で画面遷移時に画面が表示されなくなったり、cssが適応されなかったり、レイアウトが崩れたりして、リロードしたら正常の画面に治る場合の対処法を記述していきます。

原因

Gemの「turbolinks」が原因。

対処法

「app/javascript/packs」にある「application.js」の下記をコメントアウトしてみて、正常に動けばこれが原因です。

// require("turbolinks").start()

turbolinksの無効化

turbolinksを無効化する場合は、まず「Gemfile」にある以下をコメントアウトして

# gem "turbolinks", "~> 5"

「bundle update」を行います。

bundle update

「application.js」もコメントアウト

// require("turbolinks").start()

あとは「data-turbolinks-track」を削除します。

<%= javascript_pack_tag "application", 'data-turbolinks-track': "reload" %>

削除後

<%= javascript_pack_tag "application" %>

yarnでも削除しておきます。

yarn remove turbolinks

キャッシュをクリアします。

rails tmp:cache:clear