Массив пользователей, не переходящих на шаблон просмотра - PullRequest
0 голосов
/ 13 мая 2019

У меня есть такой маршрут, и он отлично работает:

    // Dashboard route
    router.get('/dashboard', ensureAuthenticated, (req, res) => {
        Note.find({user: req.user.id})
        .then(notes => {
            res.render('index/dashboard', {
                notes: notes
            });
        });
    });

на панели инструментов. Handlebars Я могу зациклить массив с помощью:

{{#if notes}}
...
    {{#each notes}}

        {{title}}
        {{body}} 

    {{/each}}
{{/if}}

У меня также есть этот другой маршрут,почти идентичен, но не передает массив в шаблон:

    // Admin Route
    router.get('/admin', ensureAdmin, (req, res) => {
        User.find({})
            .then(users => {
                console.log("Users count is: " + users.length)
                console.log(users)
                res.render('index/admin'), {
                    users: users
                };
        });
    });

На консоли у меня работает и console.log, я получаю количество пользователей и информацию.Таким образом, Find () работает, но массив, похоже, не передается в шаблон.

Я подозреваю, что это может быть потому, что у меня есть глобальная переменная:

res.locals.user = req.user || null;

для хранения информациипользователя регистратора.Но я изменил имена переменных в функции Find (), но мне не повезло.

в шаблоне У меня всегда есть "Пользователи не найдены" в результате

{{#if users}}
  <p>There are users</p>
{{else}}
   <p>No users found</p>
{{/if}}

Есть идеи?

1 Ответ

0 голосов
/ 13 мая 2019

Решено, это было ")" в плохом месте ...

'index / admin') было причиной

Решение:

    // Admin Route
    router.get('/admin', ensureAdmin, (req, res) => {
        User.find({})
            .then(users => {
                console.log("Users count is: " + users.length)
                console.log(users)
                res.render('index/admin', {
                    users: users
            });
    });
});
...