Итак, у меня есть пользователь, хранящийся в session
, когда они входят в мое приложение Node.js. У меня есть администраторы и пользователи по умолчанию, если я выхожу #{session.user.role}
в шаблон Jade, я получаю default
или admin
. И при тестировании на моей странице я могу скрыть элементы на странице с помощью -if(session.user)
, чтобы скрыть элемент, если никто не вошел в систему, но как скрыть элементы для пользователей, которые не являются админами?Jade - доступ к переменной, переданной ей
Я попытался вставить -if(session.user.role === 'default')
, но я получаю сообщение об ошибке Cannot read property 'role' of undefined
. Так что это не сработает, какие-нибудь идеи о том, как это сделать?
Вот схема пользователя с помощью Мангуст:
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,
});
Вы говорите, 'session.user.role' выходы по умолчанию или администратора, поэтому он должен существовать. Вы уверены, что неопределенная ошибка не только для пользователей, которые не вошли в систему? Если это так, вы можете написать 'if (session.user && session.user.role === 'default')'. –