2017-03-05 9 views
0

私は流星で新しいです、そして、私はいくつかの問題を抱えています。私はソーシャルネットワークアプリを作っています。基本的にはユーザーにサインアップして、ユーザーは他のユーザーを投稿したりフォローしたりすることができます。これは現在の基本機能と同じです。私はユーザーが他のユーザーのプロファイルをクリックすると、ユーザーが投稿したことを示す何かを追加したいと思います。しかし、コードイマイチが動作して流星でエラーを見つけることができません

<template name="profileArea"> 
{{#if currentUser}} 
    <div id="side-profile" class="side-box"> 
     <a class="filter-user">{{currentUser.username}}</a> 
    </div> 
    {{/if}} 
    <div id="side-all" class="side-box"> 
     <a class="community">Community</a> 
    </div> 
    {{#if currentUser}} 
    <div id="side-like" class="side-box"> 
     <h3>Following</h3> 
     <div class="boxcontent"> 
     {{#each username in following}} 
      <div> 
       <a class="filter-user">{{username}}</a> 
      </div> 
     {{/each}} 
     </div> 
    </div> 
     <div id="side-likeyou" class="side-box"> 
     <h3>Follows You</h3> 
     <div class="boxcontent"> 
     {{# each followers}} 
      <div> 
       <a class="filter-user">{{username}}</a> 
      </div> 
     {{/each}} 
     </div> 
    </div> 
    {{/if}} 
</template> 

すべて

テンプレートでエラーが表示さdoesntのコード:

Template.profileArea.events({ 
    'click .filter-user': function(event){ 
     event.preventDefault(); 
     var selectedUser = event.target.text; 

     Session.set('username', selectedUser); 
    }, 
    'click .community': function(event){ 
     event.preventDefault(); 
     Session.set('username', null); 
    } 
}); 

Template.postsList.helpers({ 
    posts: function() { 
     //Stuff should happen here but its not -_- 
     var result; 
     if(Session.get('username')){ 
      result = Post.find({username: Session.get('username')}, {sort:{created: -1}}); 
     } 
     else{ 
      result = Post.find({}, {sort:{created: -1}}); 
     } 
     return result; 
    } 
}); 
+0

あなたのテンプレートでは、サブテンプレート 'postsList'をレンダリングしていますか?あなたの例にはこの詳細は含まれていません。 – jordanwillis

+0

こんにちはこれはあなたが意味することですか? <テンプレート名= "postsList"> {{#eachポスト}}

{{content}}
{{username}}
{{/各} } –

答えて

1

この場合の問題点は、あなたが実際にあなたのpostsListテンプレート(あなたをレンダリングしたことがないということですただそれを定義したばかりです)。

実際にpostsListを表示したい場合は、profileAreaのHTMLのどこかから{{> postsList }}に電話する必要があります。これによりテンプレートがレンダリングされ、postsList.postsヘルパーが実行されます(そしてSession.get('username')が反応したら変更されます)。

プロファイルの「フォロー」セクションの後にこれを追加することもできます。

<div id="side-posts" class="side-box"> 
    <h3>Posts</h3> 
    <div class="boxcontent"> {{> postsList }} <div> 
</div> 
関連する問題