【发布时间】:2017-08-01 06:38:32
【问题描述】:
我正在尝试在我的用户对象被销毁之前挂钩一个邮件程序。
我正在使用 Sidekiq 发送电子邮件,但是当用户被销毁时会出现此错误。
ActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn't find User with id [id]
在我的模型中,我有这个:
class User < ApplicationRecord
before_destroy :goodbye_user
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable
private
def send_devise_notification(notification, *args)
devise_mailer.send(notification, self, *args).deliver_later
end
def goodbye_user
GoodbyeUser.goodbye_user(self).deliver_later
end
end
告别用户邮件永远不会发送。
有什么想法吗?
【问题讨论】:
-
可以在用户注销账号时使用软删除策略,在邮件发送后进行硬删除
标签: ruby-on-rails email sidekiq rails-activejob