実際の実装は12.3から進めていくことにします。アカウント有効化の際と似ていて、PasswordResetsリソースを作成して、再設定用のトークンとそれに対応するダイジェストを保存するのが今回の目的となります。全体の流れは次のとおりです。ときと同様に、まずはPasswordResetsリソースのモデリングから始めてみましょう。Userモデルに追加していく形で進めていきましょう。PasswordResetsもリソースとして扱っていきたいので、まずは標準的なRESTfulなURLを用意しましょう。有効化のときはeditアクションだけを取り扱いましたが、今回はパスワードを再設定するフォームが必要なので、ビューを描画するためのnewアクションとeditアクションが必要になります。それぞれのアクションに対応する作成用/更新用のアクションも最終的なRESTfulなルーティングには必要になります。上の変更を加える前に、いつものようにトピックブランチを作っておきましょう。PasswordResetsコントローラ準備が整ったところで、最初のステップとしてパスワード再設定用のコントローラを作ってみましょう。先程説明したように今回はビューも扱うので、newアクションとeditアクションも一緒に生成している点に注意してください。--no-test-framework上のコマンドでは、テストを生成しないというオプションを指定していることにご注目ください。これはコントローラの単体テストをする代わりに、今回は11.3.3から統合テストでカバーしていくからです。必要になるので、new、create、edit、updateのルーティングも用意しましょう。