目次
「devise」をインストールしてエラーになった…
「devise」をインストールして早速使おうと思ってみたらエラーが出ました…。
'method_missing': undefined method 'devise' for User (call 'User.connection' to establish a connection):Class (NoMethodError)
思い返してみると、ある作業が抜けていました。
rails db:migrate
「マイグレーション」です。
この一連の作業の間に他のコマンドを使っていたりするとエラーになってしまい、終わったと思いきや使えない状態になります。
bundle install
rails g devise:install
rails g model user
rails db:migrate
そこで、万が一、「マイグレーション」を忘れたときのための復旧方法が以下になります。
解決方法!
- 「/config/routes.rb」の「devise_for :users」を削除します。
- 「rails db:rollback」を実行して「マイグレーションファイル」をロールバックします。
- ロールバックを確認したら、「user」テーブルが入ったマイグレーションファイルごと削除!
- 「rails d model user」を実行して「user」モデルも削除します。
これで、deviseをインストールする前の状態に戻ることができたので、
再度、「rails g devise:install」のコマンドから手順を踏んで行けば正常に動くようになります。