от
В узле приложения/экспресс блогов, над которыми я работаю, я использую экспресс-руле пакет для создания шаблонов. Моя проблема включает в себя помощником я создал, чтобы определить, если пользователь уже после другого пользователя в блоге или нет. После усера посетив блог пользователей userb, этот помощник должен огнем и петлей через последователей пользователей userb (массив ИД#s), чтобы увидеть, если id пользователя а в массиве. Если это так, то появляется напоминание о том, что пользователь а уже после этот блог, если нет, то есть кнопка, предложив им следить за блогом. Проблема в том, что этот помощник не ловить матчи между ids. Пользователи, которые уже следующий блог по-прежнему на кнопки, а не напоминания. Тут какой-то код. Во-первых, здесь имеется ввиду рули файл. Первая проверка {{#если}} проверяет, если существует пользователь, вошедший в систему, и это passportjs. Вторая проверка определяет, может ли пользователь, вошедший в систему на свой собственный блог или другого пользователя блог. Если это собственный блог, то, очевидно, вопрос о следующем не имеет никакого отношения. Третья проверка-это то, что нас интересует:
{{#if user}}
    {{#unequal account.username user.username account}}
            {{#following acc.followers ../user._id acc}}
            app.engine('handlebars', exhbs({    
defaultLayout: 'blogview',
helpers: {

    unequal: (v1, v2, v3, options) => {
        if(v1 !== v2) { return options.fn({name1: v1, name2: v2, acc: v3}); }
        return options.inverse(this);
    },


    following: (arr, ID, acc, options) => {
        for(let i = 0; i < arr.length; i  ) {
            console.log(arr[i] ' ' ID);
            if (arr[i]['_id'] === ID) { return options.fn({arr:arr, ID:ID, acc:acc}); }
            break;
        }
        return options.inverse(this);
    }
}    
}));

app.set('view engine', 'handlebars');
Если следует отметить, что хелпер {{#неравные}} отлично работает как и ожидалось. Помощник {{#следующие}} это не работает. Я использую консоль.авторизуйтесь, чтобы убедиться, что все данные присутствуют, и это. Ниже приведен пример того, что я получаю от двух демо-счетах, хранящихся в Мангуст/MongoDB с:
{ _id: 5d181b52a8b40944b8d616ba } 5d181b52a8b40944b8d616ba
{ _id: 5d181b61a8b40944b8d616bc } 5d181b52a8b40944b8d616ba
{ _id: 5d196001494f7f155cf00901 } 5d181b52a8b40944b8d616ba
{ _id: 5d195fe8494f7f155cf008ff } 5d181b52a8b40944b8d616ba
Поэтому в этом случае пользователь Б имеет четыре последователей. На каждом проходе по массиву, у нас есть журнал идентификаторы тех, кто следит пользователей userb, а затем идентификатор пользователя, усера. Как вы видите, идентификатор пользователя а в положение 0 в этом массиве и это, я думаю, должна возвращать true и сделать напоминание. Но, опять же, этого не происходит. Этот помощник-вернет false и оказание кнопку приглашая следовать хоть до усера-это уже следующее. В чем здесь проблема? Что-то мне не хватает о помощниках в экспресс-руле? Или я сделал какую-то глупую ошибку с помощью JavaScript? Любая помощь будет оценили. Спасибо заранее

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...