嗨,我正在用流星制作磁性诗歌游戏,我很喜欢绿色。

http://test-magnets.meteor.com/

目前它是协作的,效果很好。我现在正尝试拥有它,这样您就可以私下演奏而不会被别人弄乱您的诗歌。我使用Iron Router根据用户ID生成了一个url

router.js

Router.map(function() {
this.route('home', {
    path: '/'
});
var user = Meteor.userId();
this.route('private', {
    path: '/' + user
   });
});


我的想法是在磁铁内使用RefrigeratorId。在家庭协作中,RefrigeratorId为1。单击“创建我自己的”时,它会将FisherId更改为与userId相同。我假设我需要根据RefrigeratorId进行某种发布和订阅,但不确定如何进行。

这会将RefrigeratorId切换为用户ID

  'click #new-board': function() {
    var user = Meteor.userId();
    var magnet = Magnets.findOne();
    Magnets.update({_id: magnet._id}, {$set: {fridgeId: user}});
    return Magnets.find({fridgeId: user});
}


然后在首页上将RefrigeratorId设置回1

Template.private.events = {
   'click #group-play': function() {
    var magnet = Magnets.findOne();
    Magnets.update({_id: magnet._id}, {$set: {fridgeId: 1}});
    return Magnets.find({fridgeId: 1});
  }
};


当前订阅和发布

if (Meteor.isClient) {

Meteor.subscribe('magnets', function() {
    return Magnets.find();
 });
}

if (Meteor.isServer) {
  Meteor.publish('magnets', function() {
    return Magnets.find();
  });
 }


任何建议将不胜感激。谢谢

-约翰

最佳答案

return Magnets.find({fridgeId: user},{reactive: false});

09-25 16:08