2015-04-02 93 views
0

我想创建一个用户配置文件页面的路线,但是当我访问路线时,它的鞋子完全空白并且在终端中没有错误。没有任何东西显示,包括静态HTML。下面的代码:路线返回空白页[METEOR]

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> 

目前,我使用的是默认用户帐户包,并没有添加任何发布或预订代码。

回答

1

确定Users是现有的集合?

目前,我使用的是默认的用户帐户包,并且已经添加了 未添加任何发布或订阅代码。

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

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

到解决:

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

虽然这是奇怪的,这并不在控制台抛出错误...

1

不知道这是否是原因,但我认为,对于路线的多个选项,您应该在操作参数中封装this.render。事情是这样的:

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

Source

0

我在终端得到一个错误:“用户没有定义”: http://meteorpad.com/pad/eciFidhwHmLhjWmF3/Leaderboard

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

如果修复HackPad我上市,Meteor.users将无法工作,因为HackPad的当前版本不支持流星的后期足够版本Meteor.users 。但是,如果你注释掉你的数据函数,你至少应该看到这个页面。