最近我将该confirmable
模块添加到我的用户类中。我的应用程序中已经有一个相当不错的邮件系统(Sidekiq、Sendgrid...),所以我创建了自己的“确认帐户”邮件。现在的问题是禁用 Devise 发送其默认电子邮件。有没有办法完全禁用设计邮件系统?
添加:
- 我想维护
confirmable
模块,因为我正在使用它的属性和路由。 - 我不能使用
skip_confirmation!
,因为我希望用户确认他们的帐户。 - 我只想禁用
Devise
邮件。
最近我将该confirmable
模块添加到我的用户类中。我的应用程序中已经有一个相当不错的邮件系统(Sidekiq、Sendgrid...),所以我创建了自己的“确认帐户”邮件。现在的问题是禁用 Devise 发送其默认电子邮件。有没有办法完全禁用设计邮件系统?
添加:
confirmable
模块,因为我正在使用它的属性和路由。skip_confirmation!
,因为我希望用户确认他们的帐户。Devise
邮件。使用来源,卢克:
# lib/devise/models/confirmable.rb
# A callback method used to deliver confirmation
# instructions on creation. This can be overriden
# in models to map to a nice sign up e-mail.
def send_on_create_confirmation_instructions
send_devise_notification(:confirmation_instructions)
end
所以在你的模型中重写这个方法什么都不做。
尝试在您的模型中覆盖以下设计方法:
def confirmation_required?
!confirmed?
end
或使用skip_confirmation!
:
user = User.new(params)
user.skip_confirmation!
user.save!
使用skip_confirmation!保存任何对象之前的方法。
def create
@user = User.new(params[:user])
@user.skip_confirmation!
@user.save!
end
我认为只是删除
:confirmable
从用户模型应该这样做
或者您是否尝试过禁用
config/environments/development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
我推荐你
User.skip_reconfirmation!
即跳过确认邮件并更新电子邮件以不使用“确认!”
从设计模型ex中删除(:confirmable
):-这里我的设计模型是用户在这里我像这样使用。
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,:omniauthable
end