LoginSignup
0
0

More than 1 year has passed since last update.

Rails gem 'devise' エラー localserver関連

Last updated at Posted at 2021-06-25

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0