Javier Manzano
Javier Manzano

Reputation: 4831

Using params on template helpers from Iron Router in Meteor

I'm using a router with this specific route:

Router.route('/organizations/:id', function () {
  this.render('organizationDetail', {id: this.params.id});
});

This renders 'organizationDetail' template.

I have this helpers for that template:

if (Meteor.isClient) {
  Template.organizationDetail.helpers({
    organization: function() {
        this.params.id????
        return FindById(id);
    }
  });
}

How can I access id variable to ask for the correct object?

Upvotes: 0

Views: 120

Answers (1)

Christian Fritz
Christian Fritz

Reputation: 21384

You need to put that parameter into your data context:

Router.route('/organizations/:id', function () {
  this.render('organizationDetail', {
      data: function() {
         return {id: this.params.id};
      }
  });
});

Then you can use it straight from the this object, which holds the data context in helpers:

if (Meteor.isClient) {
  Template.organizationDetail.helpers({
    organization: function() {
        return FindById(this.id);
    }
  });
}

Upvotes: 1

Related Questions