Encontré este ayudante en línea que verifica si una variable es igual a una determinada cadena. Intenté agregar este asistente a mi archivo index.hbs, pero aparece el siguiente error: Falta el asistente: "if_eq"
¿Alguien puede decirme cómo puedo arreglar esto? Hice lo que me pidieron que hiciera en los documentos oficiales de Handlebars, así que no entiendo. Uso NodeJS/Express, pero sin require('handlebars') o require('express-handlebars') , porque así es como express-generator lo generó para mí.
índice.hbs:
<script> Handlebars.registerHelper('if_eq', function(a, b, opts) { if(a == b) return opts.fn(this); else return opts.inverse(this); }); </script> {{#each tasks}} {{#if_eq status 'unfinished'}} [do something] {{else}} [do something else] {{/if_eq}} {{/each}}express-generator uses: paquete hbs como se puede ver aquí :
Entonces, primero debe registrar el ayudante en el lado del servidor, así:
const hbs = require('hbs'); const express = require('express'); const app = express(); app.set('view engine', 'hbs'); hbs.registerHelper('if_eq', function(a, b, opts) { if(a == b) return opts.fn(this); else return opts.inverse(this); }); //... rest of your server code Elimine el ayudante de index.hbs ya que eso es para registrar el ayudante en el lado del cliente, y está representando manillares en el lado del servidor.
índice.hbs
{{#each tasks}} {{#if_eq status 'unfinished'}} [do something] {{else}} [do something else] {{/if_eq}} {{/each}}