我有这个任务延迟_job:
def any_method
UserMailer.delay(queue: "Email", priority: 3).to_user_when_his_account_is_suspended(user, locale)
end
如果我以 Rails 模式发送电子邮件:
def any_method
locale = params[:locale]
UserMailer.to_user_when_his_account_is_suspended(order, locale).deliver
#more code
end
电子邮件以正确的语言环境/语言发送。
但是, delayed_job无法识别正确的语言环境/语言。在这种情况下,我使用 获取语言环境locale = params[:locale]
,您可以看到下一个示例:
locale = params[:locale]
UserMailer.delay(queue: "Email", priority: 3).to_user_when_his_account_is_suspended(user, locale)
邮件代码:
def to_user_when_his_account_is_suspended(user, locale)
@user = user
@locale = locale
mail(:to => @user.email, :subject => t('.user_account_has_been_suspended'))
end
我该如何解决这个问题?