【问题标题】:Make sure that a confirmation email is send only after user creation确保仅在创建用户后发送确认电子邮件
【发布时间】:2014-09-25 12:07:02
【问题描述】:

我已经在我的 Rails 应用程序中添加了 Devise,并且我正在使用可确认模块。然后我将设计与 Stripe 集成。

我发现当我尝试注册用户并且付款出错时,Devise 仍然会发送一封确认电子邮件。当我检查是否在 rails 控制台中创建了用户时,我发现不存在新用户。我不明白为什么会这样。我觉得它不应该是那样的。

我发现了 confirm! 的设计方法,但我不确定如何覆盖它,以便在发送此电子邮件之前必须首先创建用户。

然后我想,可能是创建了用户,然后因为支付失败而销毁了?!不确定,我肯定没有编写过类似的代码。

关于如何处理此问题的任何提示或建议?

【问题讨论】:

    标签: ruby-on-rails devise stripe-payments devise-confirmable


    【解决方案1】:

    稍后使用skip_confirmation!发送确认指令,保存用户记录前调用即可

    @user.skip_confirmation!
    

    您可以稍后使用send_confirmation_instructions方法发送确认指令

    @user.send_confirmation_instructions
    

    我不知道你到底在做什么,但我可以给你举个例子

    @user.skip_confirmation!
    if @user.save
      @user.send_confirmation_instructions
    end
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2014-10-07
    • 2014-08-28
    • 2022-01-23
    相关资源
    最近更新 更多