《Ruby on Rails 教程》第 11 章

165 阅读1分钟

AccountActivations 控制器

生成 AccountActivations 控制器

bin/rails generate controller AccountActivations

添加路由

resources :account_activations, only: [:edit]

在 User 模型中添加一个布尔值属性 activated,使用自动生成的布尔值方法检查用户是否已经激活

把 activated 属性的默认值设为 false

bin/rails generate migration add_activation_to_users activation_digest:string activated:boolean activated_at:datetime
bin/rails db:migrate

邮件程序模板

与模型和控制器类似,可以使用 rails generate 命令生成邮件程序

生成 User 邮件程序

bin/rails generate mailer UserMailer account_activation password_reset

编辑邮件模板

编辑 test/mailers/previews/user_mailer_preview.rb,预览邮件

更新 Users 控制器的 create 动作

在注册过程中添加账户激活步骤,编辑app/controllers/users_controller.rb

编辑 app/models/user.rb, 修改通用的 authenticated? 方法

编写激活账户的 edit 动作

编辑 app/controllers/account_activations_controller.rb,在 edit 动作中激活账户

编辑 app/controllers/sessions_controller.rb,禁止未激活的用户登录

Git 提交记录