gem 'devise'のエラー備忘録と解決方法紹介
本記事では、Rails(6.0.0)における
gem devise
を導入後に起きたエラーを紹介します。
devise導入後にローカルサーバーが起動しない
・ターミナルでbundle install
を実行し、成功。
・ローカル環境での挙動を確認するrails s
エラー発生! サーバーが起動しない!
このような場合によくあるのは、
サーバーが起動したままターミナルを閉じて、
ログが残ったままのために起動しないパターン。
その場合は、こちらの解決方法でOKです。
しかし今回はちょっと違う。はて?
よくよくエラー文を探ると
dynamic_matchers.rb:22:in `method_missing': undefined method `valitades' for User (call 'User.connection' to establish a connection):Class (NoMethodError)
Did you mean? validates
validates!
validate
どうやらスペルミスをしているらしい。
さっそくバリデーションを記述したUserモデルの記述を見る。
user.rb
valitades :birthday, presence: true
なるほど!
validates
とするべきところでスペルミスがあります。
バリデーションの記述をミスると、
ローカルサーバーも起動しないんですね。
スペルミスとendの位置のエラーは極力減らしたいなと痛感しました。
早速修正すると無事に動き出しました。
% rails s
=> Booting Puma
=> Rails 6.0.3.7 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 3.12.6 (ruby 2.6.5-p114), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop