1
在我的行動郵件(軌道3.2.13)我有類似行動郵件提示錯誤,同時通過佈局
class RepaymentMailer < ActionMailer::Base
default from: "[email protected]"
def repayment_mail user, user_repayment_info, month_date
@mail_layout = if condition_true
'layout1'
else
'layout2'
end
mail(to: "#{user.first_name} <#{user.email}>",
from: "[email protected]",
bcc: ["xxx <[email protected]>"],
reply_to: '[email protected]',
subject: "this is a test") do |format|
format.html { render layout: @mail_layout }
format.text
end
end
end
當我做
puts RepaymentMailer.repayment_mail(param1, param2, param3).deliver
它給我的錯誤,即使repayment_mail模板存在
ActionView::MissingTemplate: Missing template repayment_mailer/repayment_mail with {:locale=>[:en], :formats=>[:text], :handlers=>[:erb, :builder, :coffee, :arb]}. Searched in:
如果我刪除
do |format|
format.html { render layout: @mail_layout }
format.text
end
那麼它的工作原理沒有錯誤。 但顯然我想要所需的佈局。什麼可能是錯誤的原因。
但是在軌導向裝置http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-layouts它被賦予像一樣我是如何實現的 – rtcoms
嗯,知道了。它實際上是說缺少文本模板。愚蠢的錯誤。謝謝 – rtcoms
這裏你會看到:如果存在,將使用my_layout.html.erb文件和通常的user_mailer.text.erb文件生成文本部分。 –