flowen
flowen

Reputation: 536

Meteor - router doesn't show layoutTemplate

I have a very simple function that checks wether user is logged in and else send him to the signup page.

var requireLogin = function() { 
    if (! Meteor.user()) {
        this.render('signUpForm', {
            path: '/signup',
            layoutTemplate: 'signup'
        }); 
    } 
    // else if () {
    //  this.render('listProfiles'); 
    // } 
    else {
        this.next(); 
    }
};

this is the layoutTemplate (as simple as can be I believe) :

<template name="signup">
    <div class="signup-page">
        <div class="container">
            {{> yield}}
        </div>
    </div>
</template>

I can't use the layoutTemplate with .render?

Upvotes: 0

Views: 100

Answers (1)

johnnytop
johnnytop

Reputation: 93

I am going to assume you are using Iron Router.

As far as I know, you can't pass the layout template into the render function.

The easiest way get around this would be to use Router config:

// router.js
Router.configure({
  layoutTemplate: 'signup'
});

Then in your js:

if (! Meteor.user()) {
    this.render('signUpForm');
} 

Upvotes: 1

Related Questions