我正在使用 Nodejs/express/hbs/handlebars 编写应用程序。
我尝试在购买后向用户发送电子邮件,并附上收据。它应该只是简单的短信,带有发票条目和总价值。
发送电子邮件效果很好,我可以呈现简单的值,例如{{buyers_email}}
,但是在使用时{{#each }} ... {{/each}}
- 它不会呈现它,它只是将其逐字打印到电子邮件的内容中。
它甚至更奇怪,因为在普通页面(如 index.hbs)中,{#each}
使用了 ,并且效果很好。
代码如下:
服务器.coffee
sendReceipt = (buyers_email) ->
products = [
{ name: 'Product1', name: 'Joan' }
{ name: 'Product2', name: 'Cesar' }
]
mailer.send
host: xxx
port: xxx
authentication: 'login'
username: xxx
password: xxx
domain:xxx
from: xxx
to: buyers_email
subject: xxx
template: 'views/email-receipt.hbs'
data:
products: products
some_key: "some value"
, (err)-> {}
电子邮件收据.hbs
<p>{{some_key}}</p>
{{#each products}}
<p>product</p>
{{/each}}
结果是:
some_value
{{#each products}} product {{/each}}
什么会导致这种行为?