2015-11-20 4 views
0

Я пытаюсь создать страницу для пользователей, чтобы при входе в систему они могли видеть контент, который они загружали на сайт. Кажется, я не могу отобразить страницу. Я искал все, но, похоже, ничего не нашел. Любые идеи о том, где я ошибаюсь?Отображение страницы профиля пользователя в MeteorJS

from my publication.js file 

Meteor.publish('myTickets', function() { 
    var currentUserId = this.userId; 
    return Tickets.find({ 
    createdBy: currentUserId 
    }) 
}); 

from the router.js 

Router.route('/users/:_id', { 
    name: 'userPage', 
    waitOn: function() { 
    return Meteor.subscribe('myTickets'); 
    }, 
    data: function() { 
    return Tickets.find({ 
     userId: this.userId 
    }) 
    } 
}); 

userpage.js 

Template.userPage.helpers({ 
    tickets: function() { 
    var currentUserId = Meteor.userId(); 
    return Tickets.find({ 
     createdBy: currentUserId 
    }, { 
     sort: { 
     createdAt: -1 
     } 
    }); 
    } 
}); 
+0

Во-первых, вы пытаетесь отобразить информацию определенного пользователя или только текущего пользователя? Кажется, у вас есть маршрут, определяемый как «Router.route ('/ users /: _ id», но вы никогда не вызываете данный параметр «_id». – schankam

ответ

0

Я просил вас в комментариях, что вы именно хотели сделать (у вас есть маршрут с параметром, но вы никогда не использовать его), но в любом случае, я думаю, что я получил вашу проблему;

Вы используете this.userId, чтобы получить свой текущий идентификатор пользователя в своем маршрутизаторе, но вместо этого вы должны использовать Meteor.userId(); this.userId может использоваться только в методах публикации.

+0

Я пытаюсь показать загруженные в настоящее время загрузки билетов пользователей. отключив 'this.userId' с' Meteor.userId() ', но это не повлияло. Я даже попытался изменить маршрут на что-то вроде'/mytickets', которое отобразит представление, но там ничего нет. – grimes88

Смежные вопросы