Jade - 访问传递给它的变量

时间:2013-04-14 20:29:47

标签: javascript node.js mongoose pug

因此,当我们在Node.js应用程序上登录时,我有一个用户存储在session中。我有管理员和默认用户,如果我在Jade模板中输出#{session.user.role},我会看到defaultadmin。在我的页面上进行测试时,我可以使用-if(session.user)隐藏页面上的项目,以便在没有人登录时隐藏项目,但如何为不是管理员的用户隐藏项目?

我已尝试输入-if(session.user.role === 'default'),但收到错误Cannot read property 'role' of undefined。所以这对任何人都没有任何想法?

以下是使用Mongoose的用户架构:

var User = new Schema({
  'key' : {
    unique : true,
    type : Number,
    default: getId
  },
  'username' : { type : String, 
              validate : [validatePresenceOf, 'a Username is required'],
              set : toLower,
              index : { unique : true }
              },
  'password' : String,
  'role' : String,
});

1 个答案:

答案 0 :(得分:3)

- if (typeof session.user != 'undefined' && session.user.role === 'default')