2016-07-27 4 views
0

私は自分のジョブコレクションにドキュメントの作成者固有のデータを公開しようとしています。私のルートは、私がFlowRouter.getParamを介して取得するそれぞれの固有の作者に特化して設定されていますが、それでもデータは生成されません。私は 'refiJobs'の出版物を購読していますが、私はまだ苦労しています。読んでいただきありがとうございます。フローベースの流星でURLに基​​づいてデータを公開するには

マイ公報

Meteor.publish('refiJobs', function() { 
    if (Roles.userIsInRole(this.userId, 'admin')) { 
    var author = FlowRouter.getParam('author'); 
    return Jobs.find({author: author}); 
    } else { 
    this.error(new Meteor.Error(403, "Access Denied")); 
    } 
}); 

マイルート:

authenticatedRoutes.route('/admin/:author', { 
    action: function() { 
    BlazeLayout.render('default', { yield: 'user' }); 
    } 
}); 

答えて

1

ルートパラメーターを使用すると、パブリケーションを作成しているサーバー上で直接利用できません。あなたは次のようにサブスクリプションを経由してあなたの出版に至るまで、あなたのルートのパラメータを渡す必要があります。

クライアント:

Meteor.subscribe('refiJobs',FlowRouter.getParam('author')); 

サーバー:

Meteor.publish('refiJobs',(author)=>{ 
    check(author,String); // be sure to check the parameter(s) to your publication 
    if (Roles.userIsInRole(this.userId, 'admin')) { 
    return Jobs.find({author: author}); 
    } else { 
    this.error(new Meteor.Error(403, "Access Denied")); 
    } 
}); 
+0

おかげで - 上のスポット! – Mike

関連する問題