gpt4 book ai didi

ruby-on-rails - ActionMailer 将局部变量传递给 erb 模板

转载 作者:数据小太阳 更新时间:2023-10-29 06:36:20 24 4
gpt4 key购买 nike

我知道我可以定义实例变量,例如:

def user_register(username, email)
@username = username
@email = email

mail(:to => email, :subject => "Welcome!", :template_name => "reg_#{I18n.locale}")
end

但是,有没有一种方法可以使用local 变量,就像将:locals 传递给partials 一样?

最佳答案

正如 ronalchn 指出的那样,它是 render:locals , 而不是 mail方法。因此,您需要直接访问 render方法以通过本地人。

你可以给mail一个 block 这样就可以访问 render方法,像这样:

mail(to: "your_mail@example.com", subject: "Test passing locals to view from mailer") do |format|
format.html {
render locals: { recipient_name: "John D." }
}
end

现在您应该可以使用 "Hello <%= recipient_name %>"

关于ruby-on-rails - ActionMailer 将局部变量传递给 erb 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com