2020/1/14更新 Rack 2.1.1で修正されたようなので、現在は同様の問題は発生してません
状況
ローカルで開発していたアプリをDockerで構築し直していたらActiveStorageを使用して表示していた画像が表示されなくなった
ログを見ると以下のようにTypeError (no implicit conversion of nil into String)が発生してる
Started GET "/rails/active_storage
~ (省略)~
Processing by ActiveStorage::DiskController#show as PNG
Parameters: {"content_type"=>"image/png", "disposition"=>"inline;
~(省略)~
Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms)
TypeError (no implicit conversion of nil into String):
rack (2.1.0) lib/rack/files.rb:25:in `expand_path'
rack (2.1.0) lib/rack/files.rb:25:in `initialize'
原因
最新版のRack(2.1.0)で変更された部分が原因
Rails “TypeError (no implicit conversion of nil into String)” when loading images using image_tag, activeStorage and “has_many_attached”
Rack 2.1.0 breaks ActiveStorage #1464
解決策
次のマイナーアップデートで修正されるみたいですが取り急ぎはダウングレードすればよい
Gemfileを編集して
Gemfile
gem 'rack', '~> 2.0.8'
bundle updateで解決