Railsチュートリアル10章を終えてHerokuへデプロイし、自分のテストユーザー登録するぞ~とボタンをぽちーしたら、あぼーんして愕然としたので覚書です。
まだまだRailsへの理解度が低くQiitaに投稿するのも恥ずかしい内容ですが、ご意見・ご感想頂けると幸いです。
#■発生したエラー
Ruby on Rails チュートリアル Rails5.1(第4版) 10章を終え、Herokuへデプロイ。
新規ユーザーを登録するため、以下の情報を入力。
・Name:test
・Email:test@test.com
・Password:testtest
・Password confirmation:testtest
Create my accountボタンを押下すると以下のページが表示された。
#■確認したこと
・AWSに戻ってrails testコマンドを実行
→GREEN
・既存のテストユーザーのSettingsで情報が登録できるか
→登録できた
・routes.rbに以下の文を追加
post '/signup', to: 'users#create'
→テスト:GREEN
画面上でも登録できました。
#■原因
リスト7.26で追加したコードを、リスト8.2で上書きしてしまった。
(何も考えずコピペしてすみませんでした・・・)
#■対処法
ユーザー登録でエラーが発生したので、まずnew.html.erbを確認。
リスト10.6の演習でリファクタリングしたので、ここでの作業に問題があったとあたりをつける。
リスト7.26の演習が影響しているところから該当の演習に戻ると、routes.rbに変更を加えており、原因となっていたルートが消えていることを確認。
消えていた一文を追加することで解消。
この解消の仕方だと、Railsチュートリアルという台本ありきの解決方法となっていて、実際の現場でこんな解決の方法があるはずがない。
#■この後のアクション
以下2点を調査して記事にしたいです。
・実際のエラーだったとしてどのように解消すればよかったのか。
・なぜテストをGREENで通ってしまったのか。
とりあえず本番Herokuも問題なく動いたのでここまで。