我正在Rails中使用此警报服务。实际上,我要做的就是,当用户注册后,向该用户发送确认电子邮件。并在得到用户确认后,激活用户。我试着玩了Matt Hooks的Authlogic电子邮件激活教程,但是它真的无处可去。那么,有什么主意我怎么能以最小的麻烦做到这一点?
谢谢 !

更新

所以我如何设计为我做的工作是:

  • 安装gem。
  • 为设备的可确认字段创建迁移。
  • 指定

    设计:可确认
    在您的模型中。
  • 在相关 Controller 中创建一个confirm方法(以及该方法的路由),该方法将更新相关模型的confirmed_at属性。
  • devise生成器为您创建了一些 View ,即confirmation_instructions.html.erb。在此处自定义路径。

  • 我使用了Rails 2.3.2,并且将这种方法与Authlogic的身份验证一起使用,并且效果很好。我确实打算完全转向设计。

    老实说,我想接受两个答案(不幸的是我做不到),但是设计解决方案似乎是一个更简单的解决方案。

    最佳答案

    假设您确实希望避免使用Devise,Authlogic和 friend 这个标题,那么我认为您需要这样做:

  • 在用户模型中创建“确认代码”和“已确认”属性。
  • 在用户 Controller 上创建一个新的 Controller 方法,该方法需要用户ID和确认代码,查找用户,然后检查参数中的代码是否与存储在数据库中的代码匹配。如果是这样,它将清除代码并设置Confirmed = true。
  • 创建一条路线,例如/ users / 1 / confirm / code到您的新 Controller 方法。
  • 为要发送的电子邮件创建一个ActionMailer模板。这应该接受用户作为参数,并使用该用户的确认代码发送包含指向您新路线的链接的邮件。
  • 为您的用户模型创建观察者。如果创建了记录或修改了电子邮件地址,则生成随机确认代码,将其设置到模型中并清除确认标志。然后触发您的ActionMailer。
  • 创建一个帮助程序方法,该方法允许 View 检查当前用户是否已确认。
  • 使用此方法可以启用/禁用适当的功能。记住要适当地保护 Controller 方法以及 View 逻辑。
  • 关于ruby-on-rails - 在Rails中进行电子邮件确认,而无需使用任何现有的身份验证gem/插件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3984977/

    10-14 19:25