Rails勉強してますこの広告は、90日以上更新していないブログに表示しています。アカウントの有効化アカウントを有効化するステップを新規登録の途中に差し込むことで、本当にそのメールアドレスの持ち主なのかどうかを確認できるようにする。2.ユーザー登録が行われたときに、有効化トークンと、それに対応する有効化ダイジェストを生成する。3.有効化ダイジェストはデータベースに保存しておき、有効化トークンはメールアドレスと一緒に、ユーザーに送信する有効化用メールのリンクに仕込んでおく。4.ユーザーがメールのリンクをクリックしたら、アプリケーションはメールアドレスをキーにしてユーザーを探し、データベース内に保存しておいた有効化ダイジェストと比較することでトークンを認証する。AccountActivationsリソース新機能用のトピックブランチを作成。account-activationまずはAccountActivationsコントローラを生成。AccountActivationsルーティングにアカウント有効化用のresources行を追加。[:edit]endUserモデルに3つの属性を追加する。activated_at:datetimeマイグレーションファイルでactivated属性のデフォルトの論理値をfalseに設定して実行。db:migrateUserモデルにアカウント有効化のコードを追加する。オブジェクトが作成されたときだけコールバックを呼び出す。endendサンプルデータとfixtureを更新し、テスト時のサンプルとユーザーを事前に有効化しておく。%>データベースを初期化して、サンプルデータを再度生成し直し、上記の変更を反映する。Mailerライブラリを使ってUserのメイラーを追加する。メイラーはUsersコントローラのcreateアクションで有効化リンクをメール送信するために使う。リンクを含めて、ビューと同じ要領で定義できる。generateでメイラーを生成。password_reset生成されたメイラーのテンプレートを使えるように変更する。endend生成されたビューのテンプレートの2つを変更。"Don%27t+panic%21"送信メールのプレビューRailsでは、特殊なURLにアクセスするとメールのメッセージをその場でプレビューすることができる。これを利用するために、アプリケーションのdevelopment環境の設定に手を加える。自分の環境に合わせて変更する。.enddevelopmentサーバーを再起動して上記の設定を読み込み、自動生成したUserメイラーのプレビューファイルを更新する。endend下記のURLでアカウント有効化メールの内容を確認。http://localhost:3000/rails/mailers/user_mailer/account_activationhttp://localhost:3000/rails/mailers/user_mailer/account_activation.txtRailsによる自動生成された送信メールのテストを変更。endendテストファイル内のドメイン名を正しく設定する。.endユーザーのcreateアクションを更新する。アカウントを有効化するauthenticated?メソッドを抽象化する。.editアクションでユーザーを有効化する。endendユーザーの有効化を有効的につかい、ユーザーが有効である場合にのみログインできるようにログイン方法を変更する。endendアカウント有効化の統合テストを追加する。endendリファクタリングのため、Userモデルにユーザー有効化メソッドを追加する。activateメソッドはユーザーの有効化属性を更新し、send_activation_emailメソッドは有効化メールを送信する。.end作成したメソッドを各アクションで使用する。今日やったこと18今日やったこと17今日やったこと16今日やったこと15今日やったこと14月別アーカイブはてなブログをはじめよう!Yossy_rさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。