我是Meteor
的新手(以及完整的堆栈JS开发)并尝试转换我目前在Django / Python上运行Google App Engine的应用程序。
我使用Iron Router
输入以下路线:
this.route("editFacility", {
path: "/facilities/:_id/edit",
template: "editFacility",
data: function() {
return Facilities.findOne({ _id: this.params._id });
}
});
...以及以下模板(使用autoform的quickform):
<template name="editFacility">
<h2>Edit facility "{{description}}"</h2>
<div class="row">
<div class="col-md-12">
{{> quickForm
collection="Facilities"
omitFields="createdAt, updatedAt"
doc=this
id="updateFacilityForm"
type="update"
template="bootstrap3-horizontal"
label-class="col-sm-2"
input-col-class="col-sm-6"}}
</div>
</div>
</template>
路线由以下方式触发:
{{#linkTo route='editFacility' _id=this._id class="btn btn-default btn-xs"}}Edit{{/linkTo}}
最初看起来表单没有填充数据,但在路由的debugger
函数中放置data:
语句显示该函数实际上运行了两次。第一次找到文件并正确填写表格,然后立即第二次没有查找,从而清除表格。堆栈没有显示任何细节,并且两次运行看起来都相同:
我搜索了这个问题并找到了一些参考文献,但没有一个明确的解决方案。我已将meteor
及我的所有套餐更新为最新版本最大但这个问题仍然存在。
所以我的问题是什么导致meteor
/ Iron Router
两次执行此路由条目?
答案 0 :(得分:1)
好像您错过了包列表中的包autopublish
。它负责发布服务器中的每个可用数据。否则,您需要编写出版物,然后在客户端中进行订阅。