在MeteorJS中呈现用户配置文件页面

时间:2015-11-20 06:31:39

标签: javascript meteor routes iron-router meteor-blaze

我正在尝试为用户创建一个页面,以便在他们登录后可以看到他们上传到网站上的内容。我似乎无法获取要呈现的页面。我到处搜索,但似乎找不到任何东西。我有什么不对的想法吗?

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
      }
    });
  }
});

1 个答案:

答案 0 :(得分:0)

我在评论中问你你想要做什么(你有一个带参数的路线,但你从来没有使用它),但无论如何,我认为我遇到了你的问题;

您正在使用Meteor.userId()在路由器中获取当前用户ID,但您应该使用this.userId代替; >>> a = [2,4] >>> b = [1,4,3] >>> set(a) - set(b) set([2]) 只能用于发布方法。