【120日目】【1日20分のRailsチュートリアル】【第10章】AccountActivationsリソースを生成する
今日は「第10章 アカウント有効化とパスワード再設定」から。
今日から10章!
第10章 アカウント有効化とパスワード再設定
アカウントの有効化 (アクティベーション: 新規ユーザーのメールアドレスが有効であることを確認する機能) と、パスワードの再設定 (パスワードを忘れてしまったユーザー向けの機能) を実装することにします。
「アカウントの有効化」ってなんだろう、と思ってた。なるほどね。
10.1 アカウントの有効化
おおよその流れは、有効化トークンやダイジェストをユーザーと関連付け、ユーザーにメールを送信し、そのメールにはトークンを含むリンクを記載しておき、ユーザーがそのリンクをクリックすると有効化できるようになる、というものです。
ほぅほぅ。新規登録するときによくある流れだけどその裏側が理解できるってことか。
それではいつものように、Gitで新機能用のトピックブランチを作成しましょう。
10.3で説明したとおり、アカウントの有効化とパスワードの再設定では、メールの設定部分に共通するところがありますので、その部分を両機能に適用してからGitのmasterにマージします。
10章用にブランチ作成する。
$ git checkout master $ git checkout -b account-activation-password-reset
10.1.1 AccountActivationsリソース
この作業に必要なデータ (有効化トークンや有効化ステータスなど) をUserモデルに追加することにします。
ひとまずAccountActivationsコントローラを下記コマンドで生成。
$ rails generate controller AccountActivations --no-test-framework : create app/controllers/account_activations_controller.rb invoke erb create app/views/account_activations invoke helper create app/helpers/account_activations_helper.rb invoke assets invoke coffee create app/assets/javascripts/account_activations.coffee invoke scss create app/assets/stylesheets/account_activations.scss
上のコマンドでは、テストを生成しないというオプションを指定していることにご注目ください。
著者はコントローラのテストよりも統合テスト (10.1.4) の方が望ましいと考えているので、コントローラのテストを生成しないようにしているのです。
ほぅ…。何が違うのか分かってないけど今はいいか。。。
中途半端だけど今日はここまで。
今日の学習時間は【21分】。
次は「10.1.1 AccountActivationsリソース」のresources行を追加するところから。