ぞえの技術めも

Ruby on Rails勉強中

【120日目】【1日20分のRailsチュートリアル】【第10章】AccountActivationsリソースを生成する

Ruby on Railsチュートリアル(第3版)

今日は「第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行を追加するところから。