如何在使用postId
时将meteor-autoform
添加到评论中?
我试过了
AutoForm.hooks({
insertCommentForm: {
formToDoc: function(doc) {
doc.postId = this.formAttributes.parentContext._id;
return doc;
},
}
});
和
AutoForm.hooks({
insertCommentForm: {
formToDoc: function(doc) {
doc.postId = Template.parentData(1)._id;
return doc;
},
}
});
和
AutoForm.hooks({
insertCommentForm: {
before: {
method: function(doc) {
doc.postId = this.formAttributes.parentContext._id;
return doc;
}
}
}
});
和
AutoForm.hooks({
insertCommentForm: {
before: {
method: function(doc) {
doc.postId = Template.parentData(1)._id;
return doc;
}
}
}
});
但无论我做什么,postId
都是未定义的。
我这样用:
<template name="comment">
<div>
<h1>{{_id}} {{title}}</h1>
{{#if currentUser}}
{{> quickForm collection="Comments" id="insertCommentForm" type="insert"}}
{{/if}}
....
因此_id
应该可以访问。
现在我试过了
before: {
insert: function(doc, template) {
doc.postId = Template.instance().post._id;
console.log(doc);
return doc;
}
},
在我使用的模板中
{{> quickForm collection="Comments" id="insertCommentForm" type="insert" post=this template="bootstrap3-inline" label-class="sr-only"}}
但帖子为undefined
,因此我收到错误Uncaught TypeError: Cannot read property '_id' of undefined
。
答案 0 :(得分:2)
改为使用
{{&GT; quickForm collection =&#34;评论&#34; ID =&#34; insertCommentForm&#34;类型=&#34;插入&#34;}}
试试
{{&GT; quickForm collection =&#34;评论&#34; ID =&#34; insertCommentForm&#34;类型=&#34;插入&#34;帖子ID = _id}}
然后尝试通过
访问帮助程序中的此值Template.instance()。data.postId
您也可以将整个帖子对象发送到子模板,如
{{&GT; quickForm collection =&#34;评论&#34; ID =&#34; insertCommentForm&#34;类型=&#34;插入&#34;交=此}}
然后通过
完全访问该集合文档(例如)
Template.instance()。data.post._id
这是一个通过模板访问数据的小样本
http://meteorpad.com/pad/Ke9DJnbvtsqjSHJy2/SimpleDataGivenThroughTemplates