【问题标题】:Mandrill API TemplatingMandrill API 模板
【发布时间】:2013-02-12 05:41:19
【问题描述】:

我正在使用 Mandrill 的 Ruby API Gem,并有以下简单的测试模板:

<html>

    <body>
        <h1 mc:edit="header">testastic</h1>
        <hr/>
        <br/><br/>
        <div mc:edit="main_section"></div>
        <hr/>
        <div mc:edit="footer"></div>
    </body>
 </html>

按照 Heroku 指南中的示例,我有以下 Ruby 代码:

require 'mandrill'
  m = Mandrill::API.new
  rendered = m.templates.render 'test-template', [{:header => 'some header text', :main_section => 'The main content block', :footer => '<h3>asdf</h3>'}]

  mail(:to => "Jayson Lane <jayson@domain.com>", :subject => "Test Email") do |format|
       format.html { rendered['html'] }
       #format.text { render "test" }
  end

这很好用,电子邮件可以很好地发送我的模板,但是,它不会替换模板 mc:edit 变量。我错过了什么吗?

【问题讨论】:

    标签: ruby-on-rails ruby email heroku mandrill


    【解决方案1】:

    您需要为要替换的每个元素构造一个哈希。例如,我在模板中有这个:

       <h3 mc:edit="plan_info_name"> </h3>
       <span mc:edit="plan_info_description"> </span>
       <span mc:edit="plan_info_benefits"> </span>
    

    邮件上还有这个:

    mandrill.messages.send_template(template,[
        {
         :name => 'plan_info_name',
         :content => extra[:membership_info].name
        },
        {
         :name => 'plan_info_description',
         :content => extra[:membership_info].long_description   
        },
        {
         :name => 'plan_info_benefits',
         :content => benefits_list 
        }
      ....
    

    【讨论】:

      猜你喜欢
      • 2017-06-15
      • 2015-06-21
      • 2017-11-04
      • 2015-08-22
      • 2014-10-20
      • 2015-03-15
      • 2023-04-10
      • 2014-07-07
      • 2013-07-31
      相关资源
      最近更新 更多