1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

文系卒だけどいきなりRuby on Railsの勉強をはじめてみた #12 パスワードの再設定

Posted at

前章からキャッチアップが難しくなってしまい、おそらく本章も本質的な理解は難しいのではという懸念を抱えつつ挑む。
1周目から完璧に理解できる人がいるとしたら、それを天才と呼ぶのだろう...。

本章では、パスワードの再設定の機能を実装する。
Railsチュートリアルでは新機能を実装する前にモックアップが掲げられているのでこれからなにをつくるのかは理解しやすい。

12.1 PasswordResetsリソース

最初にパスワード再設定用のコントローラを作成する。

上のコマンドでは、テストを生成しないというオプションを指定していることにご注目ください。これはコントローラの単体テストをする代わりに、今回は11.3.3から統合テストでカバーしていくからです。

とあるが、「単体テスト」と「統合テスト」の違い、それどころかそれぞれのテストの意味は忘却の彼方へ...。

パスワードリセットにおいても、usersテーブルにカラムを追加するらしい。
rest_digestreset_sent_atなどだ。
ということは、複数回リセットした場合はreset_sent_atはどうなるんだろう?

12.2 パスワード再設定のメール送信

この節は短い。
コードコピペしてたら終了したが、主にviewnに関するところを実装したっぽい。

12.3 パスワードを設定する

パスワードを変更する際は次のケースに留意する必要がある。

  1. パスワード再設定の有効期限が切れていないか
  2. 無効なパスワードであれば失敗させる (失敗した理由も表示する)
  3. 新しいパスワードが空文字列になっていないか (ユーザー情報の編集ではOKだった)
  4. 新しいパスワードが正しければ、更新する

これらのロジックはどうやらコントローラーに実装するらしい。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?