mandrill 和嵌套的合并变量
Posted
技术标签:
【中文标题】mandrill 和嵌套的合并变量【英文标题】:mandrill and nested merge vars 【发布时间】:2015-05-01 01:02:12 【问题描述】:我正在为山魈模板使用把手。并且想知道如何使用嵌套的合并变量?我正在使用 ruby 的 mandrill-api gem。
global_merge_vars: [
name: 'receiver_name', content: receiver_name,
name: 'email_message.from_email', content: email_message.from_email,
name: 'email_message.from_phone', content: email_message.from_phone,
name: 'email_message.message_body', content: email_message.message_body,
],
在模板中:
<pre style="font-family: Arial, Helvetica, sans-serif; margin: 0">
email_message.message_body
</pre>
但它不起作用。但是,对于“receiver_name”,它可以工作。
【问题讨论】:
“它不起作用”到底是什么意思? email_message.message_body 解析为空字符串。 【参考方案1】:email_message.xxx
解析为空字符串,因为 Handlebars 尝试访问 email_message
的属性 xxx
,但它不存在,因为它没有嵌套。
目前,您似乎无法在global_merge_vars
中创建嵌套变量(请参阅Mandrill doc)。
但我不确定这里是否需要嵌套变量。所以你应该能够简单地将你的.
替换为_
,它会起作用:
global_merge_vars: [
name: 'receiver_name', content: receiver_name,
name: 'email_message_from_email', content: email_message.from_email,
name: 'email_message_from_phone', content: email_message.from_phone,
name: 'email_message_message_body', content: email_message.message_body,
],
在您的模板中:
<pre style="font-family: Arial, Helvetica, sans-serif; margin: 0">
email_message_message_body
</pre>
【讨论】:
以上是关于mandrill 和嵌套的合并变量的主要内容,如果未能解决你的问题,请参考以下文章
访问除合并变量之外的对 Mandrill API 的 JSON 请求中的变量