Meteor(0.9.0.1):使用Helper和自动表单为多个用户更新记录
Meteor (0.9.0.1): Using Helper with autoform to update a record for multiple users
我正在构建我的管理区域。我认为让多个管理员用户每个人都可以访问相同的数据会很有用。我正在使用此角色包。
我使用自动表单生成表单,因此当以"AdminA"身份登录时,该用户会在表单中输入一个值并提交,然后记录将存储在AdminA的帐户下。AdminB随后登录,但在表单上看不到值,因为该用户无权访问AdminA的帐户。我需要一种方法来告诉自动表单更新一条记录。
下面的代码是我正在努力实现的。有人能建议我该怎么做才能让它发挥作用吗?我看了一下自动表单文档,我不完全确定。
表单输入框在呈现时看起来有点像这样:
<input type="text" name="VehiclePrice" value="10000" />
<input type="hidden" name="_id" value="LEXANiNZtunFPfBea">
模板:
<template name="VehiclePrice">
{{#if submitted}}
{{> quickForm collection="VehiclePrice" omitFields="createdBy" doc=editingDoc id="VehiclePrice" type="update"}}
{{else}}
{{> quickForm collection="VehiclePrice" omitFields="createdBy" id="VehiclePrice" type="insert"}}
{{/if}}
</template>
助手:
Template.VehiclePrice.helpers({
VehiclePrices: function () {
return VehiclePrice.find().map(function (c) {
return {price: c.price, _id: c._id};
});
}
});
这种关系将是多个管理员用户与一个记录(*:1)的关系
有什么想法吗?
通过发布车辆集合,您可以通过程序确定谁有权访问数据,以及发布了什么数据集。查看Meteor发布文档(http://docs.meteor.com/#meteor_publish)。
设置集合后,您可以通过publish命令确定要发布的数据集,该命令类似于:
Meteor.publish("vehicleInfo", function () {
if ( this.role == "admin" )
return Vehicle.find();
else
return Vehicle.find({some subset of the data, or none at all (false)});
});
事实证明,这是我的一个助手的问题。它限制了用户的数据,我对此进行了修改,效果很好。
相关文章:
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 如果用户没有更改,则表单值为空
- 谷歌表单-根据分配给谷歌应用程序的工作为商业用户预先填充多项选择列表
- 如何在用户提交表单之前访问text_field的内容
- HTML.如何检查用户是否在表单中输入了文本
- 阻止用户在Netsuite中使用标准/未自定义的表单
- 如何停止javascript的执行并允许用户保存表单
- 如何根据用户输入的数字动态地向表单添加文本字段
- 如何使用 HTML 中的表单框获取用户输入
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 纯javascript的进度图像加载程序仅当用户单击提交html表单时
- Jquery:如何处理"停止/取消”;用户停止表单提交时的事件
- 如何从HTML表单中获取用户输入并将其存储在现有的JavaScript数组中
- 临时存储用户表单数据的最佳方式,用于表单重新提交
- 使用php提交表单,并使用ajax向用户提供响应
- 用户提交表单时按钮发生更改
- 当处理请求发布ajax时,如何禁用该表单中的表单(用户无法检查、填写文本、选择下拉列表等)
- 在我的javascript函数中,我试图从表单用户输入到我创建的函数并输出答案的值
- 重定向表单用户提交时,基于无线电选择仅