2015-04-02 103 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 。但是,如果你註釋掉你的數據函數,你至少應該看到這個頁面。