2017-03-20 19 views
0

私は、Deviseを使って認証するためのレールアプリを持っています。メールがDBに入っていても、Deviseはメールでユーザーを見つけることができません。

私は、Deviseが彼を見つけることができないので、サインインに失敗したユーザー(User @ yahoo.com.mx注意大文字U)を持っています。彼は登録しようとし、電子メールが既に取られていると言います。それはかなり奇妙です。

これは、大文字またはダブルドメインのどちらかと思われますか?おそらく資本金(数年前に別の登録システムを使用していたユーザーが登録した)でしょう。

ここでは何が起こっていて、どうすれば修正できますか?

答えて

0

大文字にすることで問題は発生しません。電子メールがすでに送信されていても、登録(またはサインイン)できない場合は、そのメールアドレスのアカウントを作成した可能性がありますが、そのアカウントはまだactiveではありません。

あなたはおそらく、ユーザーが何らかの形で(たとえばconfirmable)アクティブにする必要があるモジュールをDeviseで有効にしているとします。

あなたがいずれかを行う必要があります。

  • は(彼らは彼らの電子メールに送信されたリンクをクリックすることで、自分のメールアドレスを確認する必要がある場合など)、ユーザーが自分のアカウントをアクティブにするために行動を取る持っている、または。 。 。

  • コンソールを使用してユーザーを有効にします(例:User.find_by!(email: '[email protected]').confirm)。