流星铁路由器,数据无法渲染

时间:2014-11-20 16:40:03

标签: javascript meteor iron-router

我有一个流星项目,其中我正在尝试使用url数据呈现页面,但是Meteor没有呈现正确的模板......

这是我的铁路由器代码:

Router.map(function() {
  this.route('profile', {
    path: '/profile/:_id',
    template: 'profile',
    data: function () {
      console.info(this);
      return Meteor.users.findOne({_id: this.params._id});
    }
  }),
  this.route('info'),
  this.route('home', {
    path:'/',
  }),
  ...

和(简单)模板:

<template name="profile">
    {{user}}
</template>

使用此辅助函数:

Template.profile.helpers({
    user: function() { return this; }
)};

我知道Meteor会通过路由,因为路由器函数中的console.info()会在控制台中将对象转储三(!)次。 但是我只能看到我的主页,而且我从未进入个人资料页面。

我能找到的关于此的所有信息来自铁路由器教程或文档和显示(关于)我的确切代码。 以前有人有这个问题吗?我做错了什么?


更新:

我还注意到,当我向路线添加动作功能时,此功能永远不会运行...

action : function () {
    console.info("action running!");
    if (this.ready()) {
        this.render();
    }
}

2 个答案:

答案 0 :(得分:0)

我认为你在这里没有介绍过。您只需要从用户集合中发布数据。 more about publications

答案 1 :(得分:0)

好吧,我似乎犯了一个愚蠢的错误:

我阻止访问个人资料,除非它是您自己的个人资料。 我正在使用错误的用户_id测试对我的页面的访问。