动态默认值来自操作邮件轨道



是否可以在 Rails 中从 Action Mailer 中从模型中的属性设置默认值,而不必每次在操作中都设置它?

我有一个多租户应用程序,不同的租户有不同的电子邮件,这必须是邮件程序中的默认值。

根据文档,

default to:       -> { 'user@email.test' },
from:     -> { method_that_retrieves_tenant_email }

应该是可能的,但是当我尝试这样做时,它会抛出以下错误

Failure/Error: from:     -> { method },
ArgumentError:
wrong number of arguments (given 1, expected 0)

我正在使用 Rails 5.2.0 和 ruby 2.3.1p112。

其他详细信息: 这是我用过的

class ApplicationMailer < ActionMailer::Base 
default from: -> { tenant_email }
.....
private
def tenant_email
fetch_email
end

刚刚发现这有效。

class ApplicationMailer < ActionMailer::Base
after_action :set_default_from
private
def set_default_from
mail.to = tenant_email
end

最新更新