确保仅在用户创建后发送确认电子邮件

时间:2014-09-25 12:07:02

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

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

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

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

然后我想,用户可能会被创建,因为付款未能销毁呢?!不确定,我肯定没有这样的代码。

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

1 个答案:

答案 0 :(得分:2)

稍后使用skip_confirmation!发送确认说明,只需在保存用户记录之前调用

@user.skip_confirmation!

您可以稍后使用send_confirmation_instructions方法

发送确认说明
@user.send_confirmation_instructions

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

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