How to evaluate this condition?


#1

I have a large CTA-type button for a submitting a new post in my Microscope app (from Discover Meteor)

Basically it’s in it’s own template and is rendered from the main layout like this:

{{> postButton}}

I want it to be displayed everywhere except on the New Post page itself.

I found Template.registerHelper() in the Meteor docs, and I found Router.current().route.getName() in the Iron Route docs, so I registered a global template helper called currentRoute() that basically calls Router.current().route.getName() and just returns the name of the current route.

I then put this in my main layout file:

{{#if currentRoute() !== 'postCreate'}} ... {{/if}}

This didn’t work, though - it crashed Meteor. Is there a way to check the name of the current route or template from another template and take action based on the outcoe of the test?

Thanks!


#2

Yeah spacebars doesn’t like logical operations so you have to DIY.
Short of doing a custom helper for every logic condition, you can do something like this:


#3

Thanks. Eventually someone will invent a better solution. But until then, that works for now.