Railsチュートリアル(第4版)に取り組む際に発生したエラーについての備忘録。
ログから発見した内容
Couldn't find Active Storage configuration in /app/config/storage.yml (RuntimeError)
と出てきた。
ディレクトリを見ても、/app/config/storage.yml
なんてファイルは存在しないので困ってしまった。
Railsのバージョンがおかしかった→バージョンを5.1.6に直して解決
調べてみると、storage.yml
というものはactivestorage
なるものを利用するときに必要なものらしい?
activestorage
はRailsチュートリアル第4版では利用していないのでここでエラーが起こっているようだ。
railsのバージョンを見てみると、5.1.6ではなかった。
$ rails --version
Rails 6.1.3
Gemfileのバージョンしてが悪そうだったので、
Gemfile(before)
gem 'rails', '>=5.1.6'
Gemfile(after)
gem 'rails', '5.1.6'
こうした。この後、bundle update
bundle install
して、コミット後にHerokuにプッシュしたところ上手くいった。
結論:チュートリアルのバージョンと手元のバージョンが違うとおかしくなることがある
バージョン管理の必要性を感じた、、、
おまけ ちょっと役にたったこと
$ heroku run rails console
と実行すると、本番環境でrails consoleが見れる。
しかも、バグっているときはバグった際のエラーコードを表示してくれた(初学者のため正式な動作は把握していません)。
heroku logs --tails
やるよりも見やすいかもしれない。