🙄
deviseインストール後の/users/sign_upの表示エラー解決
やりたいこと
- 認証機能の確認をする
- /users/sign_up へアクセス
発生しているエラー
エラーまでにしたこと
- devise をインストール
- deviseのモデルを作成
確認したこと
migrateの確認
routes.rbのdevise_for :users追加の確認!
Rails.application.routes.draw do
devise_for :users
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
root to: "homes#top"
end
解決までにしたこと
もう一度bundleとdeviseとモデルインストール
downしてるmigrationがあるので再度migrate
スキーマを見たらmigrateできていないことに気付く。
AddDeviseToUsersのマイグレーションが、usersテーブルに重複するemailカラムを作成しようとしているため発生しているエラーを発見。エラーを修正するには、AddDeviseToUsersのマイグレーションファイルで、重複しているemailカラムの定義を削除する必要があと考えた。
db/migrate/ディレクトリにある20230422005331_add_devise_to_users.rbを削除する。
rails db:migrate:status
rails db:migrate:down VERSION=20230422005331
rails db:migrate
これでマイグレーションが成功!
スキーマを確認するとしっかり定義されている。
一度サーバーを落として、再度起動すると
成功!!
正しくdeviseがインストールされてなかったようです。
Discussion