ruby-on-rails - 没有 View 的 Rails ActionMailer

标签 ruby-on-rails

我正在使用 Rails 4.2,并且我有一些我不想使用 View 的邮件程序。我有另一种方法来渲染 html。如果我想跳过 View 并从此方法传递渲染的 html。我怎样才能做到这一点?

最佳答案

有几种不同的方法可以避免使用邮件程序的模板/ View 。

第一个是将body传递给mail:

mail(to: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c3725303938393f33281c39243d312c3039723f3331" rel="noreferrer noopener nofollow">[email protected]</a>', body: 'Welcome')

第二种方法是将 block 传递给mail

mail(to: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0f6476636a6b6a6c607b4f6a776e627f636a216c6062" rel="noreferrer noopener nofollow">[email protected]</a>') do |format|
  format.text { render plain: "Welcome" }
  format.html { render html: "<h1>Welcome</h1>".html_safe }
end

如果您好奇,这里是相关文件:

https://github.com/rails/rails/blob/master/actionmailer/lib/action_mailer/base.rb#L876

关于ruby-on-rails - 没有 View 的 Rails ActionMailer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142844/

相关文章:

ruby-on-rails - 在docker-compose up --build之后,Webpacker manifest.json恢复为旧 Assets 引用

python - 什么是 Ruby 中的 Python 文档字符串?

ruby-on-rails - 为什么 WEBrick 服务器在生产模式下比在开发模式下更快? + rails

ruby-on-rails - 检查帖子是否在特定日期后发布

html - 如何在内联 CSS 中插入引号?

ruby-on-rails - 具有自定义收集顺序的 ActiveAdmin has_many

ruby-on-rails - 播种没有模型的翻译表,rails 应用程序

javascript - 将银行帐户数据添加到 strip 而​​不保存到 API 或数据库表

ruby-on-rails - 为什么 ActionMailer (rails 2.3.5) 会开始间歇性地发送文本/html 电子邮件?

ruby-on-rails - Rails 401 身份验证错误的自定义处理程序