1

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

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

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

4

1 回答 1

3

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

 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

现在让我们在创建钩子上调用它。

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

如需更多参考,您可以查看以下内容: 设计可确认模块

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

于 2014-11-18T06:16:07.660 回答