【问题标题】:mandrill, merge_vars and handlebars array issuemandrill、merge_vars 和车把阵列问题
【发布时间】: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 进行字符串化吗?

标签: javascript handlebars.js mandrill


【解决方案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}, 
      ...
    ]
  }
];

【讨论】:

    猜你喜欢
    • 2015-11-25
    • 2023-03-22
    • 1970-01-01
    • 2015-06-03
    • 2018-02-23
    • 1970-01-01
    • 2021-06-16
    • 2015-07-20
    • 2015-12-29
    相关资源
    最近更新 更多