私は MongoDb に書き込む「バックエンド」アプリケーションを持っています (データベースには _id: with ObjectId("13f6ea...002") があります) メテオアプリを使用して情報を表示します。すべてが良かった {{#each}} で情報のリストを表示します。しかし、「_Id」で 1 つの要素を表示したい場合、何も機能しません。
この問題を読み、正しいルートを取得するようにコードを調整しましたが、ページに何も表示できません。テンプレート ヘルパーを作成しようとしましたが、役に立ちませんでした
データベース レコード:
{
_id: ObjectId("13f6ea...002"),
url: "foo",
title: "bar",
published: "2014-08-22 03:26:21 UTC",
image: "foo.jpg",
summary: "foo ",
categories: [
"F",
"B"
],
...
}
ルート:
this.route('news', {
path: '/news/:_id',
template: 'news',
waitOn: function () {
var id = this._id;
Meteor.subscribe('news', id);
},
data: function() {
var id = this.params._id;
return News.findOne({ _id: Meteor.Collection.ObjectID(this.params._id)});
},
action : function () {this.render();},
});
公開
Meteor.publish('news', function(id) {
return News.find({_id: id});
});
固有の投稿にリダイレクトするテンプレート
<h4><a href="{{pathFor 'news' _id=this._id.toHexString}}">{{title}}</a></h4>
そしてテンプレートはただの{{ニュース}}です
どうすればこれを修正できますか?
アップデート
それを修正するための私の解決策:
router.js
waitOn: function () {
var id = this._id;
Meteor.subscribe('News', id);
},
data: function() {
return News.findOne(new Meteor.Collection.ObjectID(this.params._id));
},
そしてテンプレで
<a href="news/{{_id._str}}">