"Array values in the parameter are deprecated" エラー
問題と原因
Railsのサーバーやコンソール実行時次のような警告が出る場合:
$ rails server Array values in the parameter are deprecated. Please use a String or nil. An Array was passed in from bin/rails:3:in `load' . . .
この場合原因はbin/spring
の11行目にある:
Gem.paths = { "GEM_PATH" => [Bundler.bundle_path.to_s, *Gem.path].uniq }
解決策
bin/spring
のこの11行目を次のように修正するか:
Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq.join(File::PATH_SEPARATOR) }
spring
を次のコマンドで最新のバージョンにアップデートすることで、この警告は解消される:
$ bundle update spring && bundle exec spring binstub --remove --all && bundle exec spring binstub --all