2014-09-25 80 views
0

我已将Devise与我的Rails应用程序一起添加,并使用可确认的模块。然后我将设计与Stripe结合在一起。确保用户创建后才发送确认电子邮件

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

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

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

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

回答

2

使用skip_confirmation!稍后发送的确认指令,只保存用户记录

@user.skip_confirmation! 

您可以通过使用send_confirmation_instructions方法

@user.send_confirmation_instructions 

我不知道以后发送确认指令之前叫什么你正在做的,但我可以给你一个例子

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

优秀。正是我需要的!控制它!谢谢! – 2014-09-25 12:20:52

+0

很高兴帮助,请接受答案! :) – RSB 2014-09-25 12:22:43

+1

会做,只需要先测试一下! – 2014-09-25 12:23:06