🐸

【Rails】Devise新規登録画面のエラー時リロードでRouting Errorの対処法

2023/08/19に公開

タイトルへの対処法を記載します。
なかなか気づくことができないエラーなので、DWC生には特に知ってもらいたく記事にしました。

対処法

結論から言うとルーティングに以下の記載をするだけでOK。

config/routes.rb
Rails.application.routes.draw do
:
 # devise signup時のエラー解消
 get "users" => redirect("/users/sign_up")
:

解説
Deviseを使用した新規登録画面で、エラーメッセージが表示されている状態でページをリロードすると、何故か/usersというURLにアクセスされる。
解決するため、アクセスが/usersの場合に自動的に/users/sign_upにリダイレクトする設定を行う。この設定により、エラー状態でのリロードによるRouting Errorを防止する。

エラー内容

新規登録を失敗し、エラーメッセージが表示されている状態でページをリロードをすると以下のエラーが発生。
このエラーは仕様上なので仕方がない、、、

以下ページで解説してくださっている方がいるので参考までに。
https://note.com/28years_old/n/n9c5a06bf5134

エラーメッセージが出ている状態でリロードってあまりしないシチュエーションだけど、気になるので解消しました。

参照

https://qiita.com/misahiro33/items/f155c7f51de2ee2bd4fa


チームの方が気づいて教えてくれました。(すげえ)
こういう情報ってめちゃめちゃありがたい!

Discussion