帕格(以前的玉)variables不能正常工作(插值)锚内部Href

我正在玩Node和Express,我正在使用Pug(以前的Jade)模板引擎来呈现我的html。 一切工作正常,直到我开始尝试将variables注入我的锚链接的href 。 奇怪的是,如果我改变我的快速应用程序view engine jade然后事情开始按预期工作。

根据我读过的其他文章,这个问题似乎是一个插值问题,但我似乎无法find一个资源或文档,显示如何正确解决这个问题。

防爆。

我从一个rooms json数组拉动数据,然后使用for循环遍历每个数组元素并输出每个房间的数据。 使用jade以下的作品。

 table.table.table-striped thead tr th Name th Id tbody each room in rooms tr td(style="width: 50px;") a(href!="/admin/rooms/delete/#{room.id}") Delete td #{allTitleCase(room.name)} td #{room.id} 

使用pug上述不能正常工作。 特别是a(href='/admin/rooms/delete/#{room.id}') Delete链接无法正常工作。 而不是注入房间id到链接href,它实际上输出#{room.id}作为href链接的结束部分。

任何想法如何解决这个pug

请注意,我已经尝试了所有以下使用pug但这些选项都没有工作。

  • a(href="/admin/rooms/delete/#{room.id}") Delete
  • a(href!="/admin/rooms/delete/#{room.id}") Delete

更新:帕格2.0介绍了如何处理插值的变化。

基于更新日志 ,以下任何一项都应该工作:

 // to solve OP's problem, the following can be used: a(href="/admin/rooms/delete/" + room.id) Delete // Here are a few additional scenarios which use the new API // for anyone stumbling across this answer in the future - var href = "/admin/rooms/delete/" + room.id; a(href=href) a(href=`${href}`) // Node.js/io.js ≥ 1.0.0 a(href=href + '?foo=bar')