deviseで普通に、:confirmableつけて
ユーザー登録しようとすると、以下のようなフローになります。
- メールアドレスとパスワード入力
- メールアドレス宛にurlが届く
- url踏むと本登録
んが、以下のようにパスワードは後に入力したいというとき
- メールアドレスを入力
- メールアドレス宛にurlが届く
- 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返すようにしてみたり。