设计:在特定情况下是否可以不发送确认电子邮件?

实际上我正在使用设计登录和注册并且工作正常,它会发送一封非常好的确认电子邮件。 但我需要在特定情况下发送确认电子邮件。 我在URL中传递用户类型,并代表我要设置邮件。 我有两种类型的用户,一种是确认他们的帐户,他们的自我重置用户无法确认他们的帐户只有管理员可以批准他们的帐户。 我已经覆盖了create方法

def create super if params[:type]=='xyz @user.skip_confirmation_notification! end end 

但它在两种情况下都会发送邮件。 请告诉我哪里错了。

因此,根据设计确认模块,您可以通过以下代码跳过发送确认和电子邮件。

  def confirm_your_type_user_without_confirmation_email # check your condition here and process the following self.skip_confirmation! self.confirm! # condition may end here end 

现在让我们在create hook上调用它。

 class User < ActiveRecord::Base after_create :confirm_your_type_user_without_confirmation_email .... end 

有关更多参考,您可以检查: Devise Confirmable模块

解决方案应该与我在上面提到的类似。 最好的做法是避免控制器处理这些责任,因为它不是你的控制器应该采取的。 :)我希望我的回答会给你一些解决问题的方法! 谢谢!