0

私は流星にかなり慣れていないので、Iron Router を使用して URL パラメータを Collection に渡し、表示用のデータを取得しようとしているときに問題が発生しました。

具体的には、イベントを含むコレクションがあり、1 つのコレクションをより詳細に表示するページが必要です。

PS: Iron Router と Meteor のパブリッシュ/サブスクライブ ロジックを、すべてのイベントの表示、作成、個人用リストへの保存などの他のタスクにうまく使用しました。


event.html

<template name="event">
  <div class="page-header">
    <h1>{{title}}</h1>
  </div>
  <div class="container">
    <p>{{content}}</p>
  </div>
</template>

router.js

this.route('event',{
    path: '/event/:_id',
    waitOn: function () {
        return Meteor.subscribe('Events');
    },
    data: function () {
        return Events.findOne(this.params._id);
    }
});

パブリッシュはサーバー上の publish.js で行われ、サブスクライブはルーターの
publish.jsで行われます。

Meteor.publish('Events', function () {
    return Events.find();
});

router.js

Router.configure({

    (..)

    waitOn: function() {
        return [
          Meteor.subscribe('Events'),
          Meteor.subscribe('myEvents')
        ];
    }
});

私はManuel Schoebel linkによるこのチュートリアルを見てきました

コレクションの検索が行われるまでは問題ありません。コレクションから結果データをログに記録すると、undefined

data: function () {
    var event = Events.findOne(this.params._id);
    console.log(event);
    return event;
}
4

1 に答える 1