当我使用 letter_opener 检查开发中的输出时,我可能会遇到复杂情况。
无论如何,当我运行电子邮件时,我会调用以下代码:
add_attachment('mobile.css')
mail(to: @user.email, subject: @alert.title do |format|
format.html {
Premailer.new(
"#{render}",
:with_html_string => true,
:css => [Rails.root.join("app/assets/mail/basestyles.css"),Rails.root.join("app/assets/mail/" + Site.current.name + ".css")],
:preserve_styles => true
).to_inline_css
}
format.text {
Premailer.new(
"#{render}",
:with_html_string => true,
:css => [Rails.root.join("app/assets/mail/basestyles.css"),Rails.root.join("app/assets/mail/" + Site.current.name + ".css")],
:preserve_styles => true
).to_plain_text
}
end
)
现在这不会引发任何错误,但是当我运行它时,我得到的是没有内联样式设置的 html 文件。
视图正确呈现,当我运行 premailer 以自行生成内联样式时,它工作正常,当我使用 activemailer 时,我遇到了问题。
我看过如何将'premailer'与Rails集成,但它对我不起作用。