路线返回空白页[METEOR]

时间:2015-04-02 18:08:40

标签: meteor iron-router

我正在尝试为用户个人资料页面创建一个路由,但是当我访问该路由时,它显示为一个完全空白的页面,并且在终端中没有错误。没有显示任何内容,包括静态HTML。这是代码:

routes.js

Router.route('/user/:_id', function () {
  this.render('user');
}, {
  name: 'user',
  data: function(){
    return Users.findOne({_id: this.params._id})
  }
});

user.html

<template name="user">
    <p>hello</p>
</template>

目前,我使用的是默认用户帐户包,但尚未添加任何发布或订阅代码。

3 个答案:

答案 0 :(得分:1)

不确定这是否是原因,但我认为对于路由有多个选项,您应该在动作参数中包含this.render。像这样:

Router.route('/user/:_id', {
    name: 'user',
    data: function() {
        return Users.findOne({_id: this.params._id})
    },
    action: function () {
       this.render('user');
    }
});

Source

答案 1 :(得分:1)

您确定Users是现有收藏吗?

  

目前,我正在使用默认的用户帐户包   没有添加任何出版物或订阅代码。

在这种情况下,启用自动发布后,您的问题可能会通过更改

来解决
data: function(){
  return Users.findOne({_id: this.params._id})
}

成:

data: function(){
  return Meteor.users.findOne({_id: this.params._id})
}

虽然很奇怪,这并不会在您的控制台中引发错误......

答案 2 :(得分:0)

我在终端收到错误:&#34;用户未定义&#34;: http://meteorpad.com/pad/eciFidhwHmLhjWmF3/Leaderboard

在您的数据功能中,尝试替换Meteor.users.findOne({_id: this.params._id})

如果您修复了我列出的HackPad,Meteor.users将无法正常工作,因为当前版本的HackPad并不支持使用Meteor.users的足够版本的Meteor。但是,如果您注释掉数据函数,则至少应该看到该页面。