渲染时发送给EJS的空参数

林相当新Nodejs,我一直在努力解决这个问题,到目前为止,我不能find问题。

在我的应用程序的某个时候,我用一些参数来渲染一个EJS模板,但是看起来即使获得了参数,它们也是空的。

我testing了最基本的情况:

console.log(req.user); res.render('menu.ejs', { user: String(req.user.username) }); 

控制台输出:

 { id: 1, username: 'bob', password: 'secret', email: 'bob@example.com' } 

所以我没有发送一个空值。 menu.ejs代码如下:

 <html> <body> <% user %> </body> </html> 

真的很简单。 但是,当页面呈现,我所得到的是一个空的网页…即使有一个和更多的HTML,我只是不断获取和空的价值…

在我的应用程序的某个时候,我用护照来validation我的用户,并使用闪光,我设法得到一个消息:

 res.render('login.ejs', { message: req.flash('message') }); 

但是,这仍然留下我的menu.ejs错误。 我重命名文件,重命名parameter passing,添加更多的参数,harcoded通过参数的值…我总是得到相同的结果=(

项目依赖:

 "dependencies": { "express": "~4.9.x", "express-session": "1.9.3", "mysql ": "2.5.3", "body-parser": "1.10.0", "passport": "0.2.1", "passport-local": "1.0.0", "connect-flash": "0.1.1", "cookie-parser": "1.3.3", "ejs": "1.0.0" } 

有任何想法吗?

尝试改变

 <% user %> 

 <%= user %> 

因为这是通常的输出模板variables的语法,据我所知(不熟悉ejs)。