0

コメントを追加しようとしていますが、{postId} フィールドがあります。現在、私は投稿 ID を返してコメント コレクションに追加していvar id = FlowRouter.getParam('id');ます。ルートには、コメントを残す特定の投稿の ID がパラメーターに含まれているためです。myapp.com/posts/:id の代わりにルートを myapp.com/post/:title に変更したいので、もうパラメータからIDを取得できません....どうすればIDを取得できますかルーターパラメーターで使用できなくなったときの投稿?

だから今、私のイベントコードは次のとおりです。

Template.post.events({
  "click #submitComment": function () {
      var commentText = $("#commentfield").val();
     var postId = FlowRouter.getParam('id');` 
     Comments.insert({postId: postId, comment: commentText});
  } 

})

私は何かを使用した他のアプリを覚えていますが、それを機能さtemplate.data._idせることはできません

この質問は私のヘルパーとサブスクリプションにも当てはまります。テンプレートの特定の投稿、コメント、ビデオ ID を常に取得する必要がありますが、すべてのルートに ID を含めたくないため、方法を見つける必要があります。彼ら。ありがとう

4

2 に答える 2

0

私がこれを正しく理解している場合は、ルートを投稿の ID からタイトル フィールドに変更しています。#with もご存知のようですね。あなたのヘルパーは という名前なのでposts、動作すると思われるサンプルコードを次に示します。

Template.post.helpers({
    posts() {
        var post = Posts.findOne({title: FlowRouter.getParam('title')});
        if(post) {
            return post;
        }
    }
});

したがって、イベント コードは同じままでよいと思います。

于 2016-02-11T23:17:44.167 に答える
0

テンプレート変数をクリック イベントに渡していません。

 "click #submitComment" : function (event, template) { ....

に注意して(event, template)ください。イベント内で、 template.data._idあなたが提案したように使用してください。

于 2016-02-11T21:08:50.220 に答える