2016-07-17 12 views
0

「カテゴリ」というオブジェクトがあり、そのカテゴリに属する​​投稿があります。ユーザは、そのカテゴリオブジェクト内のデータを取るボタンをクリックすることによってカテゴリを「フォロー」することができます。最も重要なことに、ポストはそれらをMeteor.users内のフィールドに配置します。それは、ユーザーがボタンをクリックしたときに利用可能だった投稿のみを取得することになります。流星:Meteor.userフィールドの更新を有効にするにはどうしたらいいですか?

カテゴリに「フォロー」すると、後でクリックイベントが完了した後に新しい投稿が自動的にユーザーデータにプッシュされるようにするにはどうすればよいですか。つまり、このプロセスをどのように反応させるのですか?

クライアント/ categories.js

Template.CategoriesMain.events({ 
    'click .toggle-category': function(e){ 
      var ob = $(e.target).parent().find("div").text(); 
      var id = $.makeArray(ob); 
      console.log(id); 

      e.preventDefault(); 
      Meteor.call('addingCategory', id, function(error, user){ console.log(id)}); 
     } 
}); 

サーバー/ categories.js

Meteor.publish("userData", function() { 
    if (this.userId) { 
    return Meteor.users.find({_id: this.userId}, 
          {fields: {'name': 1}}); 
    } else { 
    this.ready(); 
    } 
}); 

私は自動実行して何かをするだろうか?これの曲に?

Template.CategoriesMain.events({ 
    'click .toggle-category': function(e){ 
    autorun(function() { 

      var ob = $(e.target).parent().find("div").text(); 
      var id = $.makeArray(ob); 
      console.log(id); 

      e.preventDefault(); 
      Meteor.call('addingCategory', id, function(error, user){ console.log(id)}); 
     } 

    });  
}); 
+0

フムを試すことができません。投稿コレクションを公開し、users.categoriesによってフィルタを設定するだけです。したがって、クライアントの投稿を購読すると、そのカテゴリ内の新しい投稿が追加されるたびに自動的にクライアントにも公開されます。それはあなたに理にかなっていますか? –

+0

こんにちは@TomFreudenbergが応答してくれてありがとう、私はあなたが何を意味するのか分からないことを恐れています。それは、私は投稿とクライアントに適切に更新を公開するコレクションがありますが、それは私がmeteor.userを投入することになると動作しません –

答えて

0

は、現在、それを得るが、それはユーザーがフィールドに依存しない...

 
Meteor.publish("userData", function() { 
    if (this.userId) { 
    return Meteor.users.find({_id: this.userId}, 
          {fields: {'name': 1}}); 
    } else { 
    return null; 
    } 

    this.ready(); 

}); 
関連する問題