我正在使用一本书学习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 });
});
你能帮我理解我做错了什么吗?提前谢谢。
答案 0 :(得分:1)
在没有看到所有代码的情况下有点难以辨别,但根据控制台的输出,如果您将jade模板更改为输出类似user [0]的内容,则看起来用户实际上是基于括号的对象数组.Name是否能满足您的期望值?