mandrill、merge_vars 和车把阵列问题
Posted
技术标签:
【中文标题】mandrill、merge_vars 和车把阵列问题【英文标题】:mandrill, merge_vars and handlebars array issue 【发布时间】:2015-07-09 14:25:52 【问题描述】:我正在使用带有模板和把手支持的 mandrill 的 HTTP API。
如果我传入一个包裹在数组中的单级对象,电子邮件就可以正常工作。只要我将一个子数组作为变量之一,API 就会爆炸并给我以下错误。
[Error: Error: An invalid value was specified:
name: 'cartItems',
content: [ slug: 'children', name: 'Children', qty: 2, cost: '5.00' ]
This doesn't match the specified type:
name: 'string', content: 'string' ] code: 'E_INVALID_TYPE'
我的 merge_vars 看起来像这样:
[
'name': 'totalAmount',
'content': checkout.amount
,
'name': 'eventName',
'content': checkout.cart[0].name
,
'name': 'eventId',
'content': checkout.cart[0].id
,
'name': 'cartItems',
'content': checkout.cart[0].items
,
'name': 'firstname',
'content': checkout.details.firstname
,
'name': 'firstname',
'content': checkout.details.firstname
,
'name': 'lastname',
'content': checkout.details.lastname
,
'name': 'email',
'content': checkout.details.email
,
'name': 'phone',
'content': checkout.details.phone
,
'name': 'username',
'content': checkout.details.username
,
]
你可以看到它在cartItems
上轰炸了,这基本上是一个对象数组..
有什么想法吗?根据this 文章山魈与车把支持循环
【问题讨论】:
我需要对我的cartItems
进行字符串化吗?
【参考方案1】:
您发布的是 merge_vars 参数的完整值吗?您链接的文章 (http://kbcdn.mandrill.com/handlebars-example-sendtemplate-api.txt) 中的示例 JSON 大致如下:
merge_vars: [
rcpt:"email@address.com",
vars:[
'name':'cartItems', 'content':checkout.cart[0].items,
...
]
];
【讨论】:
以上是关于mandrill、merge_vars 和车把阵列问题的主要内容,如果未能解决你的问题,请参考以下文章