Mandrill API 模板
Posted
技术标签:
【中文标题】Mandrill API 模板【英文标题】:Mandrill API Templating 【发布时间】: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 变量。我错过了什么吗?
【问题讨论】:
【参考方案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
....
【讨论】:
以上是关于Mandrill API 模板的主要内容,如果未能解决你的问题,请参考以下文章
如何让 Mandrill 解析模板中的 Handlebars 标签?