【发布时间】:2015-12-22 00:43:12
【问题描述】:
我正在尝试使用他们最初在 Meteor 中创建帐户时填写的用户数据重新填充 HTML 表单上的字段,以允许他们编辑信息。该表单包含各种输入、选项列表和复选框。数据毫无问题地存储在集合中。我在用户配置文件中有一个名为 profComp 的字段,它是真还是假,取决于之前是否填写过表格。我试图在路由上添加 if/else 语句 -
Router.route("/edit_dashboard", function(){
if(Meteor.user().profile.profComp)
{
this.render("change_edit_dashboard");
}
else
{
this.render('edit_dashboard');
}
change_edit_dashboard 是用户最初填写的 html 表单的副本,我在 change_edit_dashboard 模板中添加了一个帮助程序,以从集合中检索用户信息文档。
Template.change_edit_dashboard.helpers({
formData: function()
{
return Base.findOne({_id: Session.get('baseId')})
}
});
并尝试在 change_edit_dashboard 中使用空格键 {{#with}} 调用文档的上下文
<template name="change_edit_dashboard">
{{#with formData}}
----> form code <------
{{/with}}
</template>
然而,一些奇怪的事情似乎正在发生 -
- change_edit_dahsboard 模板根本不呈现。 formData 助手似乎没有被调用,因为我没有得到我在控制台中编写的测试 console.log() 。
- 添加此代码后,它似乎破坏了其他模板的所有功能。我已将测试 console.log() 放在各种模板事件中,它们似乎没有被调用
任何人都可以就我可能出错的地方提供建议吗?谢谢
【问题讨论】:
标签: forms meteor iron-router