deviseの導入直後のエラー

devise導入して、rails db:migrateしたらすぐにエラーが出ました😭

 

NoMethodError: undefined method `devise' for User (call 'User.connection' to establish a connection

訳:deviceメソッドが見つからないよ~

 

ターミナルで調べてみると…

rails g devise:installをしていない!!

 

対処方法

①routes.rbにあるdevise_for :usersというコードを削除する

rake db:rollbackマイグレーションファイルをロールバックする。

③userテーブルを作ったときのマイグレーションファイルを削除する。

rails d model userを行いuserモデルを削除する。

これらの作業でdeviseをインストールする前の状態に戻ることができました。

以上の作業が終わったら、rails g devise:installからコマンドを実行していけば正常に動いた!!

 

正しい手順

① gem 'davise' 記述する

② bundle install

③ rails s

④ rails g devise:install

⑤ rails g devise user

⑥    マイグレーションファイル記述

⑦  rails db:migrate

⑧  rails db:migrate:status

 

次は間違えないように気をつけよう😁