[Ruby on Rails]deviseのConfirmable使用有無の違い

Ruby on Rails のdeviseのConfirmableを使うと使わないでどう挙動が変わるのか?

Ruby on RailsのdeviseのConfirmable有無の違い

deviseのConfirmableなし(デフォルト)

メール認証がない状態でログイン処理ができます。

処理の流れは以下の通り。

  1. ユーザー登録画面。
  2. メールアドレス、パスワード入力。
  3. ログイン可能状態。
  4. 完了。

これだけです。メールアドレスは何でも入れたい放題になってしまいます。

deviseのConfirmableあり

メール認証ありの場合です。

以下の設定を行います。

  1. migrationファイルの「## Confirmable」コメント以下を有効化。
  2. deviseのmodel(usersとか…)のmodel/xxxx.rbでdeviseに「 :confirmable」を追加

処理の流れは以下の通り。

  1. ユーザー登録画面。
  2. メールアドレス、パスワード入力。
  3. このタイミングではまだログインできない。
  4. メールのURLクリック。
  5. ログインできるようになる。
  6. 完了。

メールで承認後ログインができるのでこちらのほうがいいですね!