4
我的應用程序正在使用Devise,並且正在發送確認郵件並在點擊確認鏈接後正確地確認用戶。我還想在用戶確認後發送第二封電子郵件。Rails:Devise:在用戶comfirms註冊後發送郵件
關於如何延遲確認,或兩步確認,但沒有關於我在找什麼(我可以找到),有很多建議。
Devise :: Module :: Confirmable文檔告訴我,要使用的方法是確認!,但我不知道如何執行此操作。有任何想法嗎?
我的應用程序正在使用Devise,並且正在發送確認郵件並在點擊確認鏈接後正確地確認用戶。我還想在用戶確認後發送第二封電子郵件。Rails:Devise:在用戶comfirms註冊後發送郵件
關於如何延遲確認,或兩步確認,但沒有關於我在找什麼(我可以找到),有很多建議。
Devise :: Module :: Confirmable文檔告訴我,要使用的方法是確認!,但我不知道如何執行此操作。有任何想法嗎?
Rails Devise: after_confirmation
簡單地定義一個after_save的回調函數檢查,看看如果用戶確認,如果是這樣,發送電子郵件。
如果你想節省一些CPU週期,您可以覆蓋設計ConfirmationsController像這樣的東西:
class ConfirmationsController < Devise::ConfirmationsController
def show
self.resource = resource_class.confirm_by_token(params[:confirmation_token])
if resource.errors.empty?
set_flash_message(:notice, :confirmed) if is_navigational_format?
sign_in(resource_name, resource)
# Send the user a second email
send_post_confirmation_email
respond_with_navigational(resource){ redirect_to after_confirmation_path_for(resource_name, resource) }
else
respond_with_navigational(resource.errors, :status => :unprocessable_entity){ render :new }
end
end
end
我加devise_for:用戶:控制器=> {:註冊=> '註冊', :confirmations =>'confirmations'}給routes.rb。雖然我收到以下錯誤消息:未初始化的常量Devise :: ConfirmationController – EastsideDeveloper
當我研究此問題時,我也看到了http://stackoverflow.com/questions/4558463/rails-devise-after-confirmation,但它並不清楚對我來說before_save回調應該去的地方。 – EastsideDeveloper
問題出在我剪切和粘貼的代碼中。它應該是Devise :: ConfirmationsController – EastsideDeveloper