問題 Vagrantの共有フォルダでVM上とコードをrsync経由で同期させているとき、なぜかローカルで編集した変更がVM上のRailsサーバーに反映されないことがある。Railsサーバーを再起動すれば、ちゃんと反映される。 原因 VM上の変更したファイルのmtimeが更新されていないため、Railsのautoloadが実行されなかった。 RailsのautoloadはActiveSupport::FileUpdateCheckerを使って以下のようにファイルのmtimeを見て変更されたかどうかを判定している。 def updated? current_watched = watched if @last_watched.size != current_watched.size @watched = current_watched true else current_updated_at
