読者です 読者をやめる 読者になる 読者になる

pblog

pplog.net を作っている @ppworks こと越川直人(Koshikawa Naoto)のブログ

[rails][devise]How to allow user to signup providing email address only(updatedしてみた)

deviseで普通に、:confirmableつけて

ユーザー登録しようとすると、以下のようなフローになります。

 

  1. メールアドレスとパスワード入力
  2. メールアドレス宛にurlが届く
  3. url踏むと本登録

んが、以下のようにパスワードは後に入力したいというとき

  1. メールアドレスを入力
  2. メールアドレス宛にurlが届く
  3. url踏んで、パスワード登録してから本登録

いちおうやり方がwikiに載ってまして

https://github.com/plataformatec/devise/wiki にある

How To: How to allow user to signup providing email address only

にあるとおりやれば出来るっちゃ出来るんですが

User#password_match? がどうも気に食わなくてですね。

エラー文言がI18n対応してないじゃん、と。

つーわけで、ちょいと直して見ましたのが以下の差分。

ついでに、/users/confirmation?confirmation_token=xxxx

で存在しないtokenが来たら404返すようにしてみたり。