变量不显示Jade模板上的内容

时间:2013-12-03 01:10:46

标签: node.js pug

我正在使用一本书学习Node.js。有一个例子,作为一种学习经历,我将其从它的SQL版本转换为它。

此单页仅用于显示用户信息。我在中间件上加载用户信息,然后将其传递给Jade模板。一切都在努力。

当我想渲染下面的模板时,无论我在哪里使用用户对象的内容,它都不会呈现任何内容。

h1= user.Name
h2 Bio
p= user.Bio
form(action="/users/" + encodeURIComponent(user.User), method="POST")
  input(name="_method", type="hidden", value="DELETE")
  input(type="submit", value="Delete")

为了检查对象是否没有内容,我在前面添加了这两行

-console.log ( 'Inside Jade' )
-console.log ( user )

并且控制台中的结果是:

Inside Jade
[ { Name: 'Jennifer Lopes',
    User: 'jenny',
    Password: 'asd',
    Bio: 'Actress and singer' } ]

所以这告诉我信息在那里,但没有被渲染。

用于呈现模板的代码是:

app.get ('/users/:name', loadUser, function ( req, res, next ) {
res.render ( 'users/profile', { title: 'User profile', user: req.user });
});

你能帮我理解我做错了什么吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

在没有看到所有代码的情况下有点难以辨别,但根据控制台的输出,如果您将jade模板更改为输出类似user [0]的内容,则看起来用户实际上是基于括号的对象数组.Name是否能满足您的期望值?