2014-09-25 79 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