💬

Docker上のRailsでコントローラーの変更がブラウザに反映されない時の解決策

2021/01/02に公開

事象

controller.rbの変更がブラウザに反映されない。
コンテナを再起動すれば反映されるが、毎回再起動するのは手間がかかる。

環境

Windows 10 home
Docker for Windows
Rails 6.1
Ruby 2.7

解決策

config\environments\development.rb内の
config.file_watcher = ActiveSupport::EventedFileUpdateCheckerを下記コードに修正する。

config.file_watcher = ActiveSupport::FileUpdateChecker

わからないこと

下記コードを記載しても解決できる。
Railsガイドを見ても上記コードとの違いがわからなかったので、違いが分かる人がいましたら、ご教授いただければ幸いです。

config.reload_classes_only_on_change = false

参照:『Railsガイド』- Rails アプリケーションを設定する

参考

  1. Rails5でmodelやcontrollerの修正が反映されないやつ
  2. Vagrant + Rails 6.0.2.1 のdevelopmentでコード変更が反映されない現象を解決
  3. 【Rails6】Dockerコンテナを再起動しないとソースコードが反映されない

Discussion