2016-05-10 3 views
1

私はコードの断片を持っています。Meteor jsのルートアクション内でCollection.find()を使用する方法

Router.configure({ 
    layoutTemplate: 'master_layout' 
}); 


Router.map(function(){ 

    this.route('generatePDF', { 
    path: '/pdf', 
    where: 'server', 
    action: function() { 

     console.log(voters.findOne().fetch()); 
     var voters = voters.find(); 

    .... 
    } 
}); 

どのように私はルートのアクション内部の指定されたコレクションを使用することができます。

以下のようなエラーが表示されます。

W20160510-20:19:29.909(5.5)? (STDERR) TypeError: Cannot call method 'findOne' of undefined 
W20160510-20:19:29.910(5.5)? (STDERR)  at [object Object].action (lib/routes.js:40:29) 
W20160510-20:19:29.910(5.5)? (STDERR)  at boundNext (packages/iron_middleware-stack/lib/middleware_stack.js:251:1) 

答えて

0

はこの試してみてください役立ちます希望:あなただけの流星で出始めているようにも見えます

action: function() { 
    this.render('someTemplate',{ 
     data: function(){ 
      return Voters.find() 
     } 
    }); 
} 
0

コードに複数のエラーがあります。

まず、行のvotersundefinedです(エラーログに記載されています)。 第2に、Voters.findOne()は単一のドキュメントを返します(Votersというコレクションがあると仮定します)。文書にfetchを呼び出すことはできません。 fetchをカーソルで呼び出すことができます。たとえば、Voters.find().fetch()は問題ありません。

+0

を。使用する推奨ルータは 'iron:router'ではなく' kadia:flowrouter'です。 –

関連する問題