Контекстные данные не доступны в помощнике пользовательских рулей - PullRequest
0 голосов
/ 26 октября 2019

У меня есть пользовательская вспомогательная функция руля, чтобы проверить, равны ли два значения. Я вкладываю теги моего вспомогательного блока в представление, но данные не доступны во втором вложенном вспомогательном блоке

Я могу видеть данные, если я console.log содержимого внутри вспомогательной функции, но он не передаетсяа после этого.

Я использую Koa.js с рулем в качестве движка шаблонов

Моя вспомогательная функция ниже называется "равно"

app.use(views(`${__dirname}/views`, {
    extension: 'handlebars',
    map: { handlebars: 'handlebars' },
    options: {
        helpers: {
            //this is my custom helper function
            equals: (a, b, opts) => {
                if (a === b) return opts.fn(this)
                return opts.inverse(this)
            }
        },
        partials: {
            header: './partials/header',
            footer: './partials/footer',
            banner: './partials/banner',
        },
    }
}))
{{#equals data.user.role 'customer'}}
    <div>
        //this data is not being shown at all
        {{#equals data.job.status "awaiting-quote"}}Awaiting quote{{/equals}}
        {{#equals data.job.status "time-slot-allocated"}}Awaiting appointment{{/equals}}
        {{#equals data.job.status "job-completed"}}Complete{{/equals}}

        //this does work
        //so it appears that data.job.status is undefined in the nested equals
        {{#equals "test" "test"}}this works{{/equals}}

    </div>
{{/equals}}
...