实际上我正在使用设计登录和注册并且工作正常,它会发送一封非常好的确认电子邮件。但我需要在特定情况下发送确认电子邮件。我在URL中传递用户类型,并代表我想设置邮件。我有两种类型的用户,一种是确认他们的帐户他们的自我重置用户无法确认他们的帐户只有管理员可以批准他们的帐户。我已经覆盖了create方法
def create
super
if params[:type]=='xyz
@user.skip_confirmation_notification!
end
end
但它在两种情况下都会发送邮件。请告诉我哪里错了。
答案 0 :(得分: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
现在让我们在create hook上调用它。
class User < ActiveRecord::Base
after_create :confirm_your_type_user_without_confirmation_email
....
end
如需更多参考,您可以查看: Devise Confirmable module
解决方案应该与我上面提到的类似。最好的做法是避免控制器处理这些责任,因为它不是你的控制器应该采取的。 :) 我希望我的回答会给你一些解决问题的方法!谢谢!