Handlebars helper not working with global variable in Express

760 views Asked by At

I have an app running on Node, Express and express-handlebars. The variable is a result of a query assigned to res.locals and condition helper "ifCond" like this one. The code that needs to be rendered is a in a partial. The problem is that helper is not working when using a variable with it:

//getting the variable works
{{groups}} // Group2 

//works with standart block helper
{{#if groups}}1{{else}}2{{/if}} //  1  

//helper is working
{{#ifCond 5 "==" 5}}equal{{else}}not equal{{/ifCond}} //equal

//not working when using variable with helper
{{#ifCond groups "==" Group2}}equal{{else}}not equal{{/ifCond}} //not equal

What can cause it not to work with a helper? Thank you.

1

There are 1 answers

0
jfriend00 On BEST ANSWER

You need to put Group2 in quotes so it is treated as a string by the template parser:

{{#ifCond groups "==" "Group2"}} 

since you're trying to pass a string to your helper. When you don't put quotes around it, the handlebars parser tries to resolve it as a variable name just like with groups right before it.